Also, one thing that is better in V6 if your WAN using dhcp-client to get it's Internet address is you can use a "dynamic-in" rule to set the need "check-gateway=ping" used in both of the above approaches:
/routing filter add chain=dynamic-in distance=1 set-check-gateway=ping
Note: the default-route-distance set in /ip/dhcp-client need to match above rule to set check-gateway=ping
Overall, a route's distance= controls the order of WAN selection, outside other factors. So if both WANs are DHCP (or LTE, in which case the default-route-distance in the APN profile), it really is dirt simple to set the default-route-distance=1 on primary and ...=2 on secondary & use above rule & done. If the ISP gateway fails, it will failover. NOW, you need recursive routing if you want to cover cases where the ISP's gateway is pingable but has no internet beyond that.