I have spent years on this quest. I want to keep my boot macOS 'clean' and run task-specific apps in separate macOS VMs and throw them away when done.
At long last, I can reliably build High Sierra, Mojave, or Catalina macOS VMs on VirtualBox 6.1.8 running on an ancient 16GB MacBook Pro (15-inch, Mid 2012) running Mojave 1.14.6 macOS.
See:
https://github.com/AlexanderWillner/run ... ualBox.git
This script downloads a list of the viable, signed installers from Apple, downloads the selected InstallMacOS from Apple, and uses 'make' to walk the (n00b) user through the required steps.
It worked the first time for me.
Best regards.