The CNAME flattening is not a regular feature of DNS, so I have to use Cloudflare. Maybe other providers do the same, but I haven't looked around. It's certainly not something namecheap offer.
I point my TLD to the dynamic DNS record and then point to other records to the TLD as CNAME records. I'm using Nginx Proxy Manager to reverse proxy traffic to different services. These all live on a Raspberry Pi 4.
Awesome info! I wasn't overly happy with having to use CloudFlare for just this one feature. I'll have a test with my registrar.