Seems very marginal for privacy when people in the middle can still see the IP you're connecting to, just not which DNS record you may have retrieved the IP with.
DoH would make sense in a world where that was fixed. (Though DNS over TLS is also a thing, and makes strictly more sense than DoH from what I can tell...)
Not with TLS 1.3, which moves the server certificate to the encrypted part of the handshake.
tcpdump -i any -s 1500 '(tcp[((tcp[12:1] & 0xf0) >> 2)+5:1] = 0x01) and (tcp[((tcp[12:1] & 0xf0) >> 2):1] = 0x16)' -nnXSs0 -ttt
Is it though? This one liner works just fine for me on my gateway and is capturing quite a huge number of raw SNI names. 0x0110: c008 0016 0013 0010 000d c00d c003 000a ................
0x0120: 00ff 0100 0113 0000 001d 001b 0000 186c ...............l
0x0130: 6f67 7369 6e6b 2e64 6576 6963 6573 2e6e ogsink.devices.n
0x0140: 6573 742e 636f 6d00 0b00 0403 0001 0200 est.com.........But yes, it is possible.
One thing is though - TLS1.3 is getting more popular and so is session resumption. So even now quite a bit of traffic cannot be identified and it will get harder and harder.
Encrypting DNS requests is one required piece of the puzzle.
So hopefully not a cause that's lost forever, but we can improve more in the future.