Das sind zwei separate Probleme, von denen wir das erste gelöst haben:
a) ungewollte Weiterleitung an den Upstream-Server (gelöst durch bogus-priv)
b) fehlende Auflösung von lokalen IPv6-Adressen
b) wird in der Tat für IPv6 von Pi-hole noch nicht vollständig unterstützt.
Du kannst manuell folgende Zeile zur dnsmasq-Konfiguration hinzufügen (z.B. in /etc/dnsmasq.d/90-reverse-ipv6.conf):
server=/0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.f.ip6.arpa/192.168.2.1
Das wird aber dennoch nicht für alle Geräte die gewünschte Namensauflösung bringen.
Grund hierfür ist IPv6 selbst, das auf geräte-autarke Verfahren zur Netzwerkintegration setzt.
Dabei entscheidet das Gerät selbst (oder besser gesagt, sein Betriebssystem), welches Verfahren verwendet wird: SLAAC bzw. Stateless oder Stateful DHCPv6.
Während z.B. Windows-Geräte DHCPv6 bevorzugen, unterstützen Android-Geräte ausschliesslich SLAAC. Und bei SLAAC bleiben lokale Hostnamen aussen vor, während DHCPv6 dies in RFC4704 regelt.
Für Android-Smartphones wirst Du über CF also keine Hostnamen erhalten, es sei denn, Deine Router-Firmware verwendet entsprechende Tools, die diese Lücke schliessen (z.B. ip6neigh für OpenWRT).
Um dies auszugleichen, kannst Du Hostnamen für IPv6-Adressen in /etc/hosts/ definieren.