vlan-filtering is supported everywhere but only on CRS3xx it is supported in hardware.
And if the difference observed is between with and without Policy Based Routing, the vlan filtering on the bridge is not the most limiting factor.
The excerpt from configuration is slightly messy, with /ip firewall mangle rules mixed with /ip route rule items, so it is hard to say what actually happens. Better to post the complete /export hide-sensitive after obfuscating eventual public IP addresses.
The point is that RouterOS uses a lot of optimisations - if you don’t use firewall at all, fastpath is automatically used. If you start using firewall, fasttracking still saves a lot of CPU and thus packet processing delay.
Also, if it is enough to choose the routing table for a packet by its src-address, /ip route rule is enough to do so, so you do not need to assign routing-marks using firewall mangle rules, and I’ve recently got a feeling that route rules do not interfere with fasttracking. On the other hand, if you need to assign routing mark based on some other packet property than the source address, you do not need to use any /ip route rule to translate routing mark to routing table name because the two are actually the same thing. But if you need the mangle rules to assign routing-marks, you cannot fasttrack those connections which require such marking. How to fasttrack the most of the traffic in such case is described here.