Tom Horsley writes:
if you want it to, it will terminate all user processes *for that session*
when it logs out
This only recently started working moderately well. If I ever ssh'ed into my desktop for a separate login session, systemd would create some sort of systemd user daemon that would hang around forever even after I logged out of the ssh session. Then when I tried to reboot the system, it would take something like 5 minutes to timeout waiting for the user daemon to terminate. I think it is finally better now, but it took years. I started using my own special reboot script that would search for and kill all systemd user daemons before trying to reboot :-).
Oh, so that's what that was all about.
In my case this was happening occasionally, and not every time. I ssh all over my LAN, every day and do weekly reboots. Every other month or so one of the machines gets stuck for a few minutes rebooting.
I couldn't detect any rhyme or reason for it, and wrote it off just as a random systemd bug.