I've recently been messing around with my own wireguard tunnel router that I made.
Wireguard is *really good* for redundant routing setups. I make my local network connection have no default route, only a static route for my VPS where I run a wireguard server. Wireguard reconnects instantly, when I change the route. A default route appears when wireguard is up.
I have backup internet, but failover took 40-80 secs (L2TP service).
New wireguard tutorial coming soon on https://fedfree.org/