If your router has enough free RAM and storage space (about 60MB each), you can abuse cloudflared running in a container to be able to use any DoH provider, including Mullvad:

In this example with Mullvad, the command line parameter is:
proxy-dns --port 5053 --upstream https://dns.mullvad.net/dns-query --address 0.0.0.0
While 8.8.8.8 is used to bootstrap the look up of the DoH domain. In addition, you’ll need two DSTNAT rules to translate the UDP/TCP port 53 to 5053 when dst-address is the address of the VETH interface because cloudflared cannot bind itself directly to port 53.
Afterwards you can use the IP address of the VETH interface as upstream DNS server address.
I am browsing with this test configuration right now and everything seems ok. Tests with https://www.dnscheck.tools/ and https://browserleaks.com/dns confirm that I am using the right DNS resolvers (servers hosted by M247 Europe SRL).
Please note that currently, the suggestion in the older post above to run Unbound in container will not work, because Unbound does not natively support upstream DNS over HTTPS yet!