

The router sees that the DNS server didn’t return a result for one of the queries, so it goes to an upstream DNS server hosted by the ISP where they provide the IP for the ad
Nope. That is done by the pi-hole itself. The router would send a request, then it either gets the IP or it doesn’t, there are not retries upstream.


DynDNS? I’m not 100% sure what CF Tunnel does, but from my 2 min reading it seems that DynDNS would accomplish what OP described just as well.