I would be interested to see if you solve this. I have wanted to do the same. This is what I got to work:
WAN 1 = General Internet
WAN 2 = VPN Internet
WAN 1 Gateway got a weight of 200
WAN 2 Gateway got a weight of 100
Gateway Switching and such all configured. This allows Wireguard to use WAN 2 normally, and if WAN 2 goes down, it would then use WAN 1.
Created Gateway Group with WAN 1 Primary and WAN 2 Secondary.
Created a Firewall Rule on the LAN network using inverted destination so if it was not going to the internal or VPN networks, it would use the Gateway Group instead of the defaults.
Not sure this would work for you as it sounds like you might be hosting other services that require NAT. I also have not done this method on the latest version of OPNsense, so I do not know if this still works with the new rule and NAT structures.
WAN 1 = General Internet
WAN 2 = VPN Internet
WAN 1 Gateway got a weight of 200
WAN 2 Gateway got a weight of 100
Gateway Switching and such all configured. This allows Wireguard to use WAN 2 normally, and if WAN 2 goes down, it would then use WAN 1.
Created Gateway Group with WAN 1 Primary and WAN 2 Secondary.
Created a Firewall Rule on the LAN network using inverted destination so if it was not going to the internal or VPN networks, it would use the Gateway Group instead of the defaults.
Not sure this would work for you as it sounds like you might be hosting other services that require NAT. I also have not done this method on the latest version of OPNsense, so I do not know if this still works with the new rule and NAT structures.
"