This is certainly an interesting take and similar to a suggestion that another friend made, to use RAID for a similar purpose. The suggestion was to break a mirror before upgrading then, if the upgrade takes, restore the array from the known good copy as a quick way to revert.
The problem with these in general is that there is an incremental drain in the form of digging into LVM/RAID/etc. and virtualization. The tools for both are getting easier but it is still a non-zero cost. It also requires forethought, like my simpler take of having a backup/restore plan.
More specifically, though, I’d be incredibly hesitant to virtualize my critical path system since the key piece is my audio toolchain. It was hard enough to sort out the drivers, modules and configs on a bare metal OS. I have *no* idea how any of this would translate, if at all, to a VM. Worse, even with a kernel compartment approach, I fear that the effect would be on the latency of my tool chain. There is more than just the processor involved here.
For folks not doing media production or something else so hardware dependent, I think your suggestions are excellent assuming the hardware resources sufficient to the task of running a VM at good enough speed.