La fonction "Private DNS" d'Android est en réalité du DNS-over-TLS. Il faut configurer un peu plus avec Pi-Hole pour l'avoir, comme j'avais fait dans mon cas : https://wonderfall.space/dns-over-tls-docker/ (en réalité j'utilise NextDNS pour la sérénité). AdGuardHome support DoT par défaut, mais avec mon article c'est Traefik qui gère avec Let's Encrypt, donc pas à s'embêter pour les certificats si t'utilises déjà Traefik.
DNS-over-TLS utilise le port 853 donc t'es même pas obligé d'ouvrir le port 53. Les robots s'en fouteront du port 853. Une solution pour vraiment fermer, c'est genre d'utiliser un VPN et limiter l'accès au service avec les IPs de ton prestataire. Tu peux aussi héberger ton propre VPN sur le même serveur, mais dans ce cas inutile d'utiliser DNS-over-TLS (perso, je n'aime pas self-host un VPN).