Turning off EDNS with your own recursor won't really make much difference. Limiting the maximum cache length will help, but will also eliminate much of the benefit of having a local recursor.
The other issue with running your own recursor is nasty networks will transparently proxy DNS and you can end up using a cache you don't even know exists.
DNSCurve, DNSCrypt, and DNS-over-HTTPS solve one set of problems while introducing different ones.
For transparent proxying, i.e., hotel internet, I use a local forwarder and a remote recursor listening on a non-standard port and it has worked flawlessly.
I prefer to serve static address info via authoritative DNS or /etc/hosts. I have other methods of getting DNS data besides querying caches. I have no need for DNS caches. Most websites I visit do not change addresses frequently. I also like to know when they change, if they ever do.
I have not experienced any problems with DNSCurve.
> DNSCurve, DNSCrypt, and DNS-over-HTTPS solve one set of problems while introducing different ones.
You seem to know quite a bit: Are there series of blog posts where you've detailed these issues and/or proposed mitigations?
If running own DNS recursor, turn off EDNS; only send traditional 512 byte DNS packets.
Use DNS software that does not support EDNS, such as djbdns.