I used to use Adblock on a BT Hub5 but ran into the same issues that Dnsmasq would shit itself and fall over.
In the end i swapped to using AdGuardHome and that solved the OOMs. However i have 128mb of ram and your 64mb is kinda tight. (I'm also using about 140k blocks.) It also does DNS over HTTP via Cloudflare. (you can set it up with any provider)
Now, your case of needing dnsmasq-full is going to be an issue. While AdGuardHome does do DNS they arent fully there with their dns implimentation. You would have to use their edge 107 client and NOT the 104 opkg version (its a shitshow and should be removed from opkg). Even then i dont know if they have implemented all the functions in their DNS that you require. (in particular their DHCP implementation is lacking and needs some polish. Its pencilled in for their 108 release)
However what you could do is do similar to what i did. Make AdGuard the primary DNS and move the onboard dns/dhcp via dnsmasq to a seperate port and forward from that. The other route is to move your requirements into AdGuard and then remove dnsmasq completely and only use AdGuard. Both are possible (I have my dnsmasq running on an alt port "just in case")
Right now i'm using 87mb from 120 reported with 28mb free. I dont know if you can squeeze what you need into 64mb of ram however. You might be better off running a raspberry pi with pihole or even adguardhome on that instead of running it on your main router?
But if you are interested in trying it:
Start there and work down (its a REALLY long thread and tbh i maybe should start a new one and type up all my experiences and get them to sticky it to replace this older thread.)