You are right what you wrote about the FritzBoxes.
But, you suppose that I have configured that PiHole to connect directly to an IP in the internet for an upstream-DNS, like provider, google, Quad9, etc., right?
In my current config, the upstream-DNS for Pihole is my router, the FritzBox.
You ask why? Because this is neccessary for using conditional Forwarding feature of PiHole. There are local hostnames which could only be reached by name if the names are registered at the FritzBox DNS (f. ex. the Repeater from AVM = Fritz.Repeater)
That's an idea to use the guest-network for separating Clients.
But this can only act as a makeshift.
And it has the additional disadvantage that the FireTV-Stick could not be reached from private network and the other way too (I am using Kodi on FireTV too --> play files from local NAS, Web-Access to kodi, etc.)
And there is still the problem I described that by this way, you can use the smart-dns not together with pihole-features (=block unwanted call home from FireTV to amazon, like metrics, etc.). you have to decide between smartdns and pihole-DNS.
In other words, if it would be ok for me to decide between pihole-usage and smartDNS (and the other devices shall not use the smartDNS), I could simply enter the smartDNS-IP in the FireTV-Stick, and have to do nothing else in my network config.
But the goal for me (and others, see Feature requests), is to have all, pihole + smartDNS for FireTV, all other devices pihole + normal upstream-DNS
I think, the only way is that the separation between smartDNS and normalDNS is made in pihole, right?