TL;DR
- A leak test answers which resolver replied. Encryption happens on the hop between you and that resolver, which a leak test never observes.
- Plaintext port 53 and DoH to the same resolver give an identical leak-test result. Both read as "not leaking"; one is not private on the local network.
- Per-protocol checks with real output: DoH (code=200), DoH3 (http=3), DoT and DoQ via q, ECH via dig +short HTTPS, and DDR via dig SVCB _dns.resolver.arpa.
- Firefox shows a DoH Status and Provider line; Chrome has no equivalent status page.
- Three ways to a confident wrong answer, all of which look like a server fault: a TLS client that cannot do what you are testing for, testing with HEAD, and testing the wrong layer.
Full write-up: A Leak Test Cannot Tell You Whether Your DNS Was Encrypted.