Yes, of course snapshots should happen at the OS level. This is decades overdue, but we are seeing progress in the Linux world. Ubuntu 20.04 has ZFS on root, with automatic snapshots when a package is upgraded. Fedora 33 (due Oct 2020) defaults to BTRFS on root, again with automatic snapshots and the ability to roll back to a previous state. NixOS has a different approach to package management, allowing individual apps to be rolled back, rather than requiring rollback to an earlier state to be a "global" operation. The flatpak app distribution system (works on all modern Linux systems) permits rollback to a previous version (which is granular on a per-app basis). What seems to be largely missing so far is a slick, high level GUI for rolling back software changes.