We started with "does running your own recursive resolver break caching" to which the answer is yes, because it removes intermediary caches that can really improve query latency. It doesn't have to remove 100% of all caches to make caching much less effective. But having the browser bypass local caches and query directly to the internet (entirely regardless of DoH or not) does much the same. The last level cache on the local network is particularly significant because it should have the best hit rate of any cache before the query latency gets multiplied by a factor of 50 or more by going out to the internet.
Caching or not should never "break anything" unless you've seriously screwed up. It's always a matter of the performance impact. Which users will regularly gripe about without being able to articulate what's causing it.
The practical impact of this depends on the context. If your browser is running in a data center across the street from the DoH server with a 3ms round trip latency and you're making a single query, it'll be imperceptible. When your internet link has a 50+ms latency and you're making multiple queries (which may have serial dependencies), it quickly adds up to hundreds of milliseconds. And some people are on satellite links with 500+ms latencies where this matters a lot.