As far as I know, this DNSFilter setting has been around for quite some time and always worked this way. This functionality was added to prevent devices from hard-coding DNS and bypassing the router's settings (or vice-versa, to filter out particular MAC addresses on your LAN from using your router's upstream servers and making special cases).
Just clear out the custom fields. Setting it to "router" forces LAN devices to use the router's DNS anyway; unless you're making exceptions below, these fields can be empty or not, they will not do anything.
Whatever you have set on this WAN page is what will be your upstream server; the DNSFilter page is for bypassing this filter.
https://github.com/RMerl/asuswrt-merlin/wiki/DNS-Filter
So no need to set Cloudflare anywhere else other than the WAN page, and on the DNSFilter page, just set it ON and Router.
On a sidenote, why not try DoT?
https://github.com/RMerl/asuswrt-merlin/wiki/DNS-Privacy
I run Cloudflare and Quad9 upstream DoT, both their primary and secondary DNS servers. Reason being, I don't want to hand all my DNS records to ONE company upstream, and let the fastest server win. I refuse to use Google's, and I am already using Cleanbrowsing Family as a DNSFilter exception for one client on my LAN. A cool feature would be Parallel DNS Resolution, where the request is sent to all your DoT servers at once, and the quickest response back would be who your router uses for that one query.