My router is not a raspberry but a apu from pcengines. But quite same.
I use from years an unbound dns server with a lot of local entries configuration. I just made pihole running on localhost only on port 5353, modifying the dnsmasq conf (which is lost at every updates)
I use the pihole dns as a forwarder on unbound server, in place of classic internet dns.
It’s running very well but quite slow.
For a client, the dns is the router. The unbound responds (for local entries) or ask pihole on localhost:5353 for internet entries.
Technically it’s not different as standard usage. Normally its :
Client -> unbound (router) -> internet dns forwarder (220.127.116.11)
Here it’s :
Client -> unbound (router) -> pihole (router) - > internet dns forwarder (18.104.22.168).
It just seems this add 80ms ton resolution time :s