I believe I figured out what is happening here. In systemd v250, systemd user managers began interpreting the signal RTMIN+25 as a command to daemon-reexec. This was done so that:
could be used as a way to reexec all user instances at once. So, systemd.postinst now contains such a line so that user managers are also reexec'd during package upgrades.
However, since Jammy is running systemd v249, the running user manager at the time of the upgrade does not have this reexec logic, and appears to behave as if it were killed normally. So, the fix should be to not attempt to restart all the user managers if the old version is too old.
I believe I figured out what is happening here. In systemd v250, systemd user managers began interpreting the signal RTMIN+25 as a command to daemon-reexec. This was done so that:
systemctl kill --kill-whom='main' --signal= 'SIGRTMIN+ 25' 'user@*.service'
could be used as a way to reexec all user instances at once. So, systemd.postinst now contains such a line so that user managers are also reexec'd during package upgrades.
However, since Jammy is running systemd v249, the running user manager at the time of the upgrade does not have this reexec logic, and appears to behave as if it were killed normally. So, the fix should be to not attempt to restart all the user managers if the old version is too old.