Policy Routing to Bond Upload

I am trying to get this working but I am hitting a brick wall where I don't know why it doesn't work.

I am following this:
https://support.aa.net.uk/Router_-_Linux_upload_bonding_using_policy_routing

I tried mwan3 which is supposed to support per-packet but it needs each interface to have its own individual IP, whereas mine both have the same IP.

I tried following the IPv4 rules there only (just to simplify things). So I executed the following:

# added route tables called pppoe-AA_1 and pppoe-AA_2
ip route replace default default dev pppoe-AA_1 table pppoe-AA_1
ip route replace default default dev pppoe-AA_2 table pppoe-AA_2
ip rule add fwmark 1 table pppoe-AA_1 prio 40000
ip rule add fwmark 2 table pppoe-AA_1 prio 40001
ip rule add from all table pppoe-AA_1 prio 50000
ip rule add from all table pppoe-AA_2 prio 50001

I tried the following 2 sets of commands (since I don't know which table these need to be added to to work when the firewall is running):

# First Attempt
iptables -A PREROUTING -t nat -i ppp+ -m statistic --mode nth --every 2 --packet 0 -j MARK --set-mark 1
iptables -A PREROUTING -t nat -i ppp+ -m statistic --mode nth --every 2 --packet 1 -j MARK --set-mark 2

# Second Attempt
iptables -A PREROUTING -t mangle -i ppp+ -m statistic --mode nth --every 2 --packet 0 -j MARK --set-mark 1
iptables -A PREROUTING -t mangle -i ppp+ -m statistic --mode nth --every 2 --packet 1 -j MARK --set-mark 2

Unfortunately it never seems to work, packets are not routed round robin out of the two connections, they only go up one (pppoe-AA_1 as it has the lowest metric in the default table).

Any help to get this working would be much appreciated!