I run my own copy of bind, and use https://dns.he.net as a slave pulling the zones from it. As a result I can actually use all DNS features.
I find it super frustrating that most dynamic DNS providers use their own custom API rather than just using the update mechanism that's in the protocol itself. That said, if they support v6 then you can probably use them by installing their update client on each machine that you want a hostname for. It just won't integrate with pfsense.