I am using PiHole inside Docker on a Raspberry Pi 3. The container is running alongside NginxProxyManager (and some other, not exposed, services) and is exposed on Port 8080.
The PiHole seems to mostly work correctly, but local DNS records only work on my Windows machine. On Windows all addresses (such as heimdall.local) are correctly forwarded to Nginx, which forwards it to the correct service. This works over LAN and WIFI for my Windows-Machine.
Note: The Windows Machine has NO manual entry in the hosts-file, which points to the Raspberry Pi.
On my iPhone & MacBook however, no local DNS Records are resolved and result in a timeout. I already checked, that all my devices are in fact using the PiHole as DNS.
DHCP is done by my router, which itself uses the PiHole as DNS and delivers the PiHole as preferred DNS over DHCP.
Under Advanced DNS Settings I activated Use Conditional Forwarding and disabled all other 3 Options.
When providing a debug token, just post the token that is shown once the debug finishes (preferably by copy and paste). For your own privacy and security, please do not post the full, unsanitised output here.
Run from a client in your network, what's the output of:
nslookup pi.hole
And if that client would run Windows:
ipconfig /all
For the latter, we'd only be interested in output from the DNS server section.
Just a note why I also wanted us to scrutinise available DNS servers:
In case your router offers IPv6 connectivity, your router may advertise its own IPv6 address as DNS server in addition to Pi-hole, in which case IPv6-preferring clients would be able to by-pass Pi-hole, and Pi-hole's local name resolution with it.
That kind of behaviour would only be addressable by the router istelf, and not all routers do support respective configuration, unfortunately.
Fingers crossed that your issue was indeed only related to mDNS.