What’s not straightforward about it? USB issues?
That doesn’t sound particularly resource intensive to me, but I don’t use a Green so can’t really say.
Z-Wave JS runs practically anywhere. Windows/Linux, with containers, packaged binaries, even manually with Node JS.
Would need to have more information about your setup to recommend anything.
First, where do you want to place the controller?
Is it somewhere near where you want to run HAOS and connect via USB? If yes, then you can run Z-Wave JS connected via USB with HAOS add-ons.
If no, can you run another server to host Z-Wave JS? If yes, you can run Z-Wave JS UI in container/binary/etc and connect to HA remotely.
If no, you can use Z-Wave Portable and connect remote from anywhere, HAOS or standalone Z-Wave JS UI.
So it mostly depends if you connect via USB to Z-Wave JS or not, and if you want to use HAOS or not.
I personally would avoid using USB pass-through with VMs. Many people do this but I find it can be troublesome (reliability and setup issues).