The LXC-versus-VM question sounds architectural, but in a homelab it is usually practical. Start with the workload, not with a rule about which technology is better.
A container is a good fit when the service is ordinary Linux software, starts with systemd, and does not need a different kernel. DNS servers, small web applications, monitoring agents, and internal utilities often work well in an LXC container. Containers boot quickly, consume little memory, and make it easy to run several focused services on one Proxmox host.
A virtual machine earns its overhead when isolation matters more. Use one for a firewall, an untrusted appliance, a non-Linux operating system, or software that expects kernel modules and unusual device access. Docker can run in a container, but a small VM is often less surprising: it avoids nested-container edge cases and keeps Docker's networking and storage assumptions inside a conventional Linux guest.
Backups do not settle the question. Proxmox can back up both forms, and both still need restore tests. Nor does density decide everything. Saving 300 MB of RAM is not useful if a clever container configuration takes hours to debug.
My default is simple: choose an unprivileged LXC container for a small, well-understood Linux service. Choose a VM when the application boundary should also be a kernel boundary. If the decision remains close, use a VM. Homelab capacity is usually cheaper than homelab ambiguity.
Whichever form you choose, write the reason beside the service inventory. That tiny note prevents the next rebuild from becoming the same debate all over again.