Use your own.
That may not always be the best way to go, as it'll make fingerprinting also much easier. The more custom your setup is, the less there are like you, the easier your tracked by fingerprinting techniques.
Not saying it's bad per se, but the idea that trusting no one and setting everything up yourself is always more private isn't true either. Both providers and do-it-yourself have negative sides one should stay critical about.
I'm not an expert on what makes a "good DNS", but I have been using a pi-hole for about 5 years and it has been super stable the whole time, despite my best efforts.
Quad9 is decent, but there's some weird legislative issues (they can be court ordered to not resolve certain sites) BC weird reasons.
If you have a raspberry pi or similar sitting somewhere, you can set up a pihole DNS with unbound as upstream. Then you've got a DNS that's as private as you want, locally cached and with additional ad/malware/... blocking capabilities.
As far as I read (I'm no expert!) they could check the SNI of the TLS handshake if they want.
But using the DNS of the ISP is handing them the data right in a way they can analyze/use them very easily afaik?
They route your traffic, hence they can see all IP addresses you communicate with. With a reverse lookup you can then usually find out the address too.
The header of a Http request always contains the domain unencrypted because it's possible to host many different websites on the same IP. So this information is needed before the encrypted tunnel is built up.
In the end it comes down to what your goals is. DOH indeed hides DNS queries from sniffers and your ISP, but the traffic between you and your destination is still visible for the ISP (unless you use a VPN or TOR).
If you only care about the content blocking aspect a third party resolver may make sense as @[email protected] explained below.
My 50 cents: Nowadays most traffic is encrypted and your ISP can only see what server you are talking to, but not which domain.
The domain although can be figured out with a reverse DNS lookup. So unless more then one domain is hosted on a given up, your ISP could also know the domain.