Downside: if you have any kind of home network, running your own recursive DNS probably implies running your own DHCP, which isn't normally a consumer alternative (you could do it using settings on a domestic router, but not if it's crippled or locked-down). Also, DNS caching shouldn't be so effective (but I haven't noticed that effect).
Upside: all kinds of problems resulting from relying on DNS servers controlled by others disappear. You're not relying on them any more.
I happen to trust my ISP, BTW; I really just like running my own because I can observe what it's doing.
Unless you can prove otherwise you should assume they're selling you out.
Though you need a trusted host to act as the other end, or you are just swapping one monitored link with another, and finding that could be a task in its own right depending on your threat model / paranoia level.
Nextdns have their own app for this as well.
For android 9 or higher there should be an option in network settings.
Yes you could do a timer, but that would mean e.g. first 30s of all Netflix streams to be much faster and then slow down just in case they were in fact speed tests. Also would be difficult to differentiate between running a speed test vs a stream that gets its connection closed and reconnects.
All of this is an order of magnitude for ISPs to deal with than unthrottling traffic for specific domains. It doesn’t have to be perfect, but making it prohibitively more expensive helps a lot.