Personally I think the reason it’s not used much is the risk of having a less secure setup. As small as it may be, you’re still performing non-essential services on a firewall. Especially when you implement a HA solution, uptime and stability is important. I would use VM’s.
Virtualization and firewall for security reasons are not the best combination. It adds a lot of complexity to the system stack. Since the Intel Spectre and Meltdown security flaws it should be off the table to run critical systems on the same hardware. If you could not trust the hardware to separate the VMs and processes like they should do, it is not possible for a software layer on top to do so. Beside this security aspect, the problem with sharing resources for your firewall with other VMs on the same box will lead to problems and trouble that never could be debugged. You will hardly find someone to support you or this solution since it is not clear what workloads are performed on the same hardware. Sharing network resources and simulated device drivers for network cards will add another layer of complexity. In my opinion it is a bad idea.If you want to safe power, scale down your network boxes to only what you need.