The snapshot only saves the appearance of the image. It does not save the history stack that created it. A useful way of thinking about snapshots is they are more like thumbnails than anything else...probably why they are called “snapshots”.
For me, the easiest way to save the history stack before major changes is by creating a duplicate (ctrl-d) before the edits. The alternatives are creating/saving a style or making one or more presets in specific modules. There are times when those make a better workflow, but those times are rare.
The snapshot module allows comparing the rendered results of a past history stack to the current one. But it only stores the rendered result. This makes the comparison quick and computationally easy. And that’s usually the better for users because there are options when the user wants something else.