@thedarktangent the only thing I can think of that might be what you're looking for is a duct tape and bailing wire combo of:
Query logging
RPZ entries to make cdn.example.com *sticky* rather than round robin
Dynamic RPZ zone updates
A RPZ zone file "Grove tender" that prunes stale entries
Dynamic firewall hole punching
1) Assuming a default deny outbound policy, an isolated host does a DNS lookup, that doesn't exist in the RPZ zone. Make default policy to *not provide an answer*.
2) something monitoring query log sees the isolated host ask a question, performs the lookup against root servers, and just adds whatever that answer is to the RPZ zone as an override via nsupdate.
3) firewall hole gets punched for those IPs for some reasonable TTL
4) isolated host retries DNS query, now succeeds, and is handed RPZ overridden records, and makes an outgoing connection to a known IP.
5) RPZ Grove tender does lookups of overridden records against the root servers to catch changes in DNS and make the RPZ match. Old firewall holes punched get closed.
6) any connection to an IP that bypasses DNS is ... either suspicious, something with a hard coded IP, or possibly is cert pinning with an IP subject Alt name?
That (I think?) answers your "my firewall allowlist will be huge" problems, by funneling connections to a slowly moving CDN target.
I don't know of any products that do this out of the box, but I'm also blatantly ignoring the elephant in the room of "why do you trust DNS in the first place?" and "why do you want DNS responses to punch holes in your firewall?"