A local network resolver instead of forwarder on a client seems to work a lot better in my experience especially when I use root DNS on unbound. Yes a root DNS is a lot slower than something like 8.8.8.8 but you could use an upstream dns with unbound if you really want something faster. Either way, a local DNS will be lot less problematic compared to if you devices has to handle all dns over wifi including the redirects (which happen a lot).
Almost every time I see a network problem, it's always a DNS problem. In a typical home network setup these days:
client DNS cache -> upstream DNS -> root DNS. client DNS cache -> local DNS - > upstream DNS -> root DNS.
My setup:
client DNS cache -> local DNS -> root DNS.
The first one works better if the network is wired. Second and third one works better on wireless.
One alternative that works 'okay' is if the client directly uses DoT or DoH for DNS. TCP works little more reliably than UDP (wink) but neither Google nor Cloudflare offer signed profiles for iOS and macOS (third party is there). Stubby works good on linux and android and windows have a built in solution.
"it's always dns" should ring a bell :)
not really the fact that some domains i don't care much about are blocked, but this is a dangerous precedent in deviation from facts.