Pretty much all my VMs are headless Debian for whatever purpose I'm using them. I've tried Ubuntu but it has done some weird shit with snaps over the years, things like installing Docker concurrently as a snap when I've already had it on as an apt package then shitting itself unpredictably until I figured out what was going on.
If you can, use LXCs where appropriate to reduce overhead usage. An LXC container will use much less resources than a full VM. You can even set up Docker on a Debian LXC and I'll set up a few hosts like that to partition my applications.
There's little reason to install a desktop environment for a server. Learn how to set up SSH keys and use the command line, most server applications don't have GUI interfaces anyway unless they provide a webpage for admin, in which case you don't need a DE anyway.
If you do need remote access with a GUI, try installing a Guacamole webtop instance to remote into, and manage your services from that.