Yes, that should work, but as someone who went through that phase before BTRFS was a thing keeping /home in a separate partition helps quite a lot, because then reinstalling the system is just a 15 min afair and you're mostly back where you were before except some programs you might have installed that you will need to do so again.
The next logical step for me was to keep a list of those programs, so I could just run a single command and get all of them installed. That eventually evolved into convincing me to use Gentoo, since it has this concept baked into the system. But compiling everything wasn't for me, so I went back to Arch where I stayed for over a decade. And even though I almost never broke my system again, I always had that fear. I even switched to BTRFS when it became more stable, but never had to use a snapshot, so can't help you on how much it restores.
Recently I've migrated to NixOS, and I'm very happy with it. The appeal of it for me was how the system is declared, which is a very advanced version of my packages in a file that also includes configurations. This makes it so that making changes to your system requires you to modify those files and rebuild your system, and at boot time you can select from the previous generations of the system in case you broke something. In short, this makes your system unbreakable because worst case scenario you boot into the previous generation that worked and figure out what you did wrong.
That being said, it's learning curve is very steep, but the payoff for those of us who like to tinker is huge. If you're interested I recommend checking vimjoyer's YouTube channel, he has several videos about it, and since you're already used to running things in VMs to test it should be easy for you to get started. And the best thing is that once you're done with configuring the VM, almost the exact same config would work on your main machine out of the box and give you the exact same system (the only caveat is that there's one file that relates to hardware which would have to be different, but it gets auto-generated during the install process).