I will second using a separate machine for virtualization rather than assigning too many responsibilities to a single machine. Can you theoretically get everything running in a single box? Sure. Is it practical, reliable, reasonable, beneficial, worthwhile? I don’t think so.
That said, the latest FreeNAS does have a RancherOS VM for docker/kubernetes fun, and I think Windows VMs aren’t actually that hard to set up. It is likely going to be good enough for your needs. Going fully virtualized xenserver is not only overkill, but honestly it’s going to make things worse not better.