I’m looking to run a mix of containers and virtual machines. I’ll likely end up containerizing many services such as Pihole and plex, but I’m not sure it makes sense to containerize other things, such as Windows domain controllers, etc.
To the best of my knowledge, you'll need full virtualization for Windows guests. I haven't any experience with those.
Linux guests support paravirtualization with special drivers
designed for the virtual environment.