Policy Based Routing question

I’m by no means a MikroTik expert, but I’m trying to set up Policy Based Routing using a simple mangle rule. We have two internet gateways at two separate sites. We have fiber connections between sites making for one large well connected LAN. So using simple mangle rule, I’m trying to direct some subnets out one gateway and the rest out the other, with failover. Here’s my mangle config…

/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=!InternalSubnets new-routing-mark=Failover passthrough=yes src-address-list=
AltGateway

/ip route
add check-gateway=ping comment=“Primary Internet Route” disabled=no distance=2 dst-address=0.0.0.0/0 gateway=10.1.1.5 pref-src=“”
routing-table=main scope=30 suppress-hw-offload=no target-scope=10

add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.1.5.252 pref-src=“” routing-table=Failover scope=30 suppress-hw-offload=
no target-scope=10



Mangle rule is on core router with direct connections to subnets where primary and secondary gateways live. The issue I"m having is that the routing seems to work just fine. When running traceroute and pings, traffic is taking the paths that it should. But when I do a speed test, the download speeds are terrible, and the upload shows 0 Mbps. I was able to resolve this issue for locally connected VLANS by setting the “Use IP Firewall” bridge setting to yes. But for remote subnets, I still have the same issue. But here’s where it gets weird for me. If I start a “torch” session on the interface where the traffic comes in, then the speeds are normal. How the heck does torch affect that traffic?

Any thoughts?