Intervlan routing not working on my recursive route or dual wan setup

That "preventing traffic between specific VLANs" will be done properly with filter forward rules, as it should be.

The action=accept chain=prerouting rule in the mangle table only acts within the scope of the #4 box of your flowchart. This action just skips the rest of the mangle chain=prerouting rules, processing will continue with #5. It doesn't means skipping the checks in #14.

Even in the filter table, action=accept chain=forward just means skip the other filter rules of the box #14, and go to the next box, which is #23. It doesn't means skip the rest of the firewall (#23, #24 and #25).