Surely MacOS has some nice virtual machine that you could run Linux in?

Virtual machines aren't the solution for day-to-day computing though. You're missing out on the graphics acceleration, being able to plug things in that just work, and so on.

If you're running your UI on a Linux VM....why not just used Linux?

UTM.