You have two tasks. First, bring those "mission critical services" (ha ha) up to running on a modern OS. Then, migrate them to running under a current FreeBSD server using bhyve. I would suggest that you separate those tasks, and either solve only one of them, or solve them separately.
Approach 1: Give up on Ubuntu and CentOS completely, and try running the services natively on FreeBSD. The resulting system will be cleaner and simpler, easier to maintain and upgrade, and less likely to spontaneously break.
Approach 2: Give up on FreeBSD, and run those services direct-to-metal on whatever Linux installation they prefer. Again, less complexity.
Approach 3: First get them to run on an up-to-date version of Ubunto, CentOS or whatever OS they want to be on. Once that is up and stable, then start running those up-to-date OSes (with services) under an up-to-date version of FreeBSD.
Trying to run an old OS as a client in a modern VM setup is ... asking for trouble.