300000 wrote
remap-usr1 SIGHUP
resolv-retry infinite
Unfortunately this didn't work, but looking at the documentation I found an idea that solved this (so thank you!)
I added an additional remote:
remote 192.168.70.64 PORT
remote DYNDNSADDRESS PORT
remap-usr1 SIGHUP
resolv-retry infinite
Explaining the problem and half the solution
By adding the extra remote address, if my connection starts on data then to wifi then it's able to switch over.
But switching from wifi to data, it would then have the DYNDNSADDRESS resolved to the 70.64 instead of realizing I've left my network and resolving to my public IP (again i'm double NAT'd with no option to create a loopback on my ISP's router, or bridge the connection to my router)
The only good news in this is, as long as I start on data then going to wifi then data, then wifi, then data, etc.... it would be stuck in the WORKING loop since it first started by resolving the DYNDNSADDRESS to my actual public IP and not internally.
Complete solution!
I had a custom setting in my pihole to resolve the (normally unreachable from within) DYNDNSADDRESS to my internal WAN IP (.70.64), making the dyndns and WAN IP each exclusive to the network you would connect from. This solves it by not allowing the dyndns resolved internally to be then cached to the OpenVPN client.
If anyone still needs a working dyndns from within the network then you can just create an additional dyndnsaddress2 that is not used here.