Wer einen PiHole DNS im eigenen Netz verwendet, spart sich schonmal eine Menge Werbung. Das ist super. Die DNS Anfragen laufen aber immer noch über externe DNS Server wir z.B. Google.

Wer das vermeiden möchte, kann PiHole ganz einfach mit „Unbound“ upgraden.

Unbound lässt deinen PiHole als rekursiven DNS laufen, so dass keine externen DNS Server mehr benötigt werden.

Aber was bedeutet das genau?
Bisher war es so, hast du eine Domain aufrufen wollen, wie z.B. google.de, ging diese Anfrage erstmal an den von dir eingestellten DNS Server (z.B. Google). Und von da wieder zurück an PiHole.

Um es bildlich darzustellen:
client -> PiHole -> externer DNS -> PiHole -> client

Mit Unbound nehmen wir die Komponente des externen DNS heraus:
client -> PiHole -> client

Technisch ist das ganze natürlich wesentlich komplizierter und genau genommen ist die Ablaufkette jetzt wesentlich größer als vorher und beinhaltet auch immer noch einen externen Root-DNS. Die Nachverfolgung deiner Anfragen sind aber nicht mehr so einfach, wie zuvor.
Wichtig für das Verständnis ist aber, dass auch die Google-DNS Server auf diese Root-Server zurückgreifen müssen, wenn sie eine Anfrage noch nicht kennen. Wir sparen uns also den Umweg und haben so einen eigenen vollständigen DNS-Server der die Anfragen selbstständig bearbeitet anstatt sie weiterleitet.
Darauf möchte ich jetzt aber nicht im einzelnen drauf eingehen. Wenn dazu Fragen sind, gerne in die Kommentare.

Die Umsetzung und auch die passende Konfiguration ist perfekt von PiHole selbst beschrieben und dokumentiert:

https://docs.pi-hole.net/guides/dns/unbound/

Für eine gute Übersicht, was Unbound im einzelnen macht, findet auf der Git-Projektseite alle weiteren Infos:

https://github.com/NLnetLabs/unbound