OCSP is a plaintext (the answers are actually signed but they aren't encrypted) protocol to assure your client that the certificate it's looking at hasn't been revoked.
The correct fix for privacy is that OCSP Stapling should be used. Instead of clients fetching OCSP answers and thereby revealing who they're talking to, the server should pre-emptively fetch OCSP answers about its own certificates, and "staple" the latest good answer to its certificate, saying "Look, here's proof my certificate is still good". This stapled answer is then provided to the client, over the encrypted TLS connection, since OCSP is signed the client can trust this stapled answer and needn't fetch it themselves.
DoH servers should definitely have OCSP stapling. I'm sure the big famous ones do.
There's a mechanism called Encrypted ClientHello (ECH), formerly known as ESNI, that tries to address this. Ultimately using either DoH or ECH only provides limited protection, the idea is to use both.
EDIT: Ah, the blog post does indicate that ECH is a work in progress.
What that means is, one day you'll get a new browser update and from then all your TLS connections will seem to use ECH, however, since most servers don't speak ECH most of your connections will have an unencrypted Hello as usual and then the ECH payload they carry is actually random noise.
Then, gradually over time, sites do have ECH and the connections to those sites use a cover name in the outer Hello with the real name protected by ECH instead of noise in the ECH data.
I would anticipate this beginning probably in the next 12-18 months once ECH is nailed down completely and ready to be published.
It's a misfeature of some common web server software that you get a "default" web site as if this was still 1998 and your web browser might not know about HTTP 1.1 yet. The specification doesn't suggest doing this as far as I know and it has caused numerous security problems.
Likewise ALPN. The client has to say which ALPNs they'd accept for this connection if any, and the server just picks one. The server is under no obligation to hint that it knows any particular ALPN or to let you connect without specifying.
If a web browser connects without specifying a name and it hoped to reach some.nonsense.example your wildcard certificate doesn't help it and it won't display your 503 Service Unavailable error, you aren't some.nonsense.example, it cannot proceed, so you shouldn't bother trying to "help".
EDIT: its really pretty easy to do apparently[0] although only unconditionally as it seems...
[0] https://cbonte.github.io/haproxy-dconv/2.4/configuration.htm...