The session-split branch makes managing preferences more complicated than it already is. In the long run, wouldn't it be better to migrate to the stash system?
The current near-duplicate save/load code would become a single "add". Then the stash system could be extended with session support. The add/save/load functions could take a bool or have session variants. Not all preferences would need to be migrated to stash at once. Just the session preferences could be migrated initially.