Hostname resolution and IPv6

Thank you for that write-up - this would certainly benefit users running dd-wrt with dnsmasq handling DHCP, probably as well as those running a router OS with a customisable dnsmasq.

However, that configuration may still not have all IPv6 addresses associated with hostnames:
With IPv4, clients may (or may not) register a hostname with a DHCP server during DHCP lease negotiation, which in turn may (or may not - some routers don't) populate a co-located DNS resolver with the respective DNS records.

There is no equivalent procedure for IPv6, specifically when auto-configuration is used.
If configured as DHCP server, dnsmasq (as well as Pi-hole) would make an effort to associate IPv6 addresses with hostnames by applying some heuristics, but that's not guarantueed to always work.

I'd like to also suggest an alternative approach:
Since you can control your router's behaviour, you could consider to distribute an IPv4 address as local DNS server exclusively, i.e. do not provide IPv6 DNS resolvers at all.

That would prompt your clients to contact Pi-hole via IPv4 only, and IPv4 addresses are easier to associate with hostnames.
Note that is fully sufficient, as a DNS resolver would return A and AAAA records as requested, regardless whether the query arrived via IPv4 or IPv6.

This would work with IPv4-only as well as dual-stack machines.
The one drawback would be that IPv6-only hosts would be unaware of a DNS resolver, and thus not be able to resolve DNS.