Connect to VNC server via domain using VNC viewer program, not browser

I’ve set up a Cloudflare tunnel and the browser VNC works as advertised, but I’m finding the latency really bad to the point of being almost unusable. When I connect to the server using a VNC viewer, the latency is fine, but I need to use the IP address. I’d like to be able to just connect to the VNC server using a VNC viewer, pointing to my domain instead of the always-changing IP. Is this possible?

Without Cloudflare’s protections / potentially exposing your real server? Sure, use one of the many Dynamic DNS (DDNS) apps to automatically update a specific DNS Record (i.e vnc.yourdomain.com) to point your real IP.
Use dynamic IP addresses · Cloudflare DNS docs

If you want Cloudflare’s Protections, you could try using cloudflared cli to proxy TCP, as is recommended for Arbitrary TCP Setups: Arbitrary TCP · Cloudflare Zero Trust docs. You could also try setting up Private Networking with WARP Connect from WARP to a private network on Cloudflare using Cloudflare Tunnel · Cloudflare Zero Trust docs, but that one is more involved.

If you want something more seamless (those two options above require installing and running either cloudflared or WARP on the client machine), Cloudflare offers Spectrum/Magic Transit for more generic protection that would work like that, but you would need Enterprise for Spectrum supporting any port like VNC, and Magic Transit is Enterprise only, so those are likely to be out of reach.