Sonos is a single ecosystem (it controls both the backend and frontend) so it's slightly different, whereas WiiM is working within the UPnP spec.
I think the problem control points have with bookmarking tracks/albums/playlists from a music server stems from the fact that there's no provision for creating playlists in the UPnP spec, so there's no requirement for having
anything persist across server rescans.
A good example of this is MiniDLNA (the server that the WiiM Amp is based on). When MiniDLNA indexes the music, instead of delivering a URL that's based on the location of the track in the filesystem (which generally doesn't change) like MinimServer does e.g.
Code:
http://192.168.**.**:9790/minimserver/*/Beatles,*20The/2009*20-*20The*20Beatles*20In*20Mono/CD08/08.01.flac
It instead uses some sort of sequence number, appearing to come from the track's position in the list of all tracks sorted by album name e.g.
Code:
http://192.168.**.**:8200/MediaItems/25.flac
When browsing and playing from your MiniDLNA server interactively everything works, but when you add that track to a playlist it's the URL that's stored, and if you ever perform a rebuild (not simply a rescan) the browsing URLs will be regenerated and your playlist (that's static) could well now be pointing to a completely different track - assuming you've added new albums since the playlists were created. I don't have a WiiM Amp so I'm unable to test this, but I know it's a problem with the standard build.
The best way (although it could result in multiple matches) for WiiM to bookmark albums would be to store the album and albumartist tags and retrieve the album through a UPnP search, but not all servers support UPnP search (Plex, Serviio, Windows Media e.t.c) so it wouldn't work across the board.