your rule is good.
two things come to mind that can break this
1. current connection tracking table. if you setup a policy route for traffic that was on another link and timeing out, the connection tracking table will continue to send it out the original link. A reboot is required to remove the entry in the conntrack table that is timing out ( default timeout for tcp is 6 days )
2. you are using http and the access control proxy is enabled. you can fix this by changing the rule to type=OUTPUT
thanks! working beautifully