I just use different browsers. Chrome for the personal one, Firefox for the work one. Very easy, just Cmd+Tab between them, can always stay signed in, and no confusion!
Also, I've found Chrome's multi user windows have a nasty tendency to fail to reopen all windows and all tabs upon reboot. One or two will open, but at least one won't, and when you do launch a new window for that user, it won't remember its prior tabs.
Your approach resolves both those cases. That said, Chrome's built in support with the prominent user icon in the window title bar is fantastic for multiple email accounts and the like, especially coupled with tab pinning so it can't help but open Gmail for example.