I think I found out to avoid this situation.
In
/etc/systemd/logind.conf
KillUserProcesses=yes
From manpage
KillUserProcesses=
Takes a boolean argument. Configures whether the processes of a user should be killed when the user logs out. If true, the scope unit
corresponding to the session and all processes inside that scope will be terminated. If false, the scope is "abandoned", see
systemd.scope(5), and processes are not killed. Defaults to "no", but see the options KillOnlyUsers= and KillExcludeUsers= below.
In addition to session processes, user process may run under the user manager unit user@.service. Depending on the linger settings, this may
allow users to run processes independent of their login sessions. See the description of enable-linger in loginctl(1).
Note that setting KillUserProcesses=yes will break tools like screen(1) and tmux(1), unless they are moved out of the session scope. See
example in systemd-run(1).
I restart
sudo systemctl restart systemd-logind.service
after logout 1. user and logged in to 2. user and back
alex@Guilmon:~$ loginctl
SESSION UID USER SEAT TTY
15 1000 alex seat0
1 sessions listed.
alex@Guilmon:~$
No longer waiting for stopping something from abandoned user session during shutdown or restart.