Not exactly what you're asking for but you should look into tiling window managers, if I'm understanding correctly they do almost exactly what you want
For example on my laptop if I open Firefox it opens in full screen, if I open a terminal it resizes Firefox to half the screen and opens the terminal in the other half, a third and it splits whichever window I'm focused on vertically etc etc
You could achieve what you want by having the VMs in windowed mode and just using a tiling wm
You get the added bonus of virtual desktops that you can flick through with mouse buttons/keybinds/3 finger swipe if you want multiple layouts of different windows
Also I've not used it but I'm pretty sure hyprland has something called fake full screen where it tricks windows into thinking they're full screen while actually being windowed