Author of memreserver (one of the mentioned userspace workarounds) here. I've debugged this a few years back, only public comment I can quickly find is [1]. I also remember some mailing list discussions, but it basically came down to the isuse that Linux didn't have staggered suspend hooks that reliably ran before disks and parts of the memory subsystem were frozen. Apparently this is now possible. Sadly the Freedesktop Gitlab doesn't seem indexable so this knowledge seems to have gotten lost.
It downloads and continually updates from the upstream database while serving the identical API. On a fast link it can download the entire thing in a few hours.
It just uses a giant BoltDB file to store compressed chunks.
[1] https://gitlab.freedesktop.org/drm/amd/-/issues/2125#note_17...