The only extra thing I want from tmux is to persist sessions across reboots and shutdowns.

I found a plugin called tmux-resurrect but it would be nice as a base feature.

I use https://github.com/tmuxinator/tmuxinator for my workspaces. Doesn't save ad-hoc layouts, but usually I find one layout that works per project, then create a tmuxinator config for it, so after reboot, it's a short "tmuxinator start $my-project" away to get back to how I want it to be.