I have tried your solution, but cannot get it working either.
I can even see the connections on being forward from the DSL router to the second interface on the mikrotik router with stats tcp syn received, but its not responding with squat.
If you want i can post some screen shots of the config to show you what I have done.
I believe the reason this is not working is that the mangle rules for connection/packet/routing marks need to be in the PREROUTING chain, no INPUT or OUTPUT as the marks will be applied at stages in the network stack that make them irrelevant. IE - By the time they are applied, they will not be evaluated before they arrive at their destination.
I’m using this implementation to provide multiple routes and failover between my cable connection and WiMAX.
What I recommend is the following (replacing necessary values in <>):