To be clear, "Ubuntu 22.04's new OOM killer" is systemd. Why do we keep taking responsibilities away from the kernel and other programs that are good at handling them, only to give them to systemd for this kind of thing to happen?

The Linux OOMKiller is inflexible and as likely to kill the right thing as the wrong thing when there's memory pressure on the system. There's a reason why third-party userspace [0] ones are used in lieu of the builtin one. You can tweak the default implementation, but never fully rely on it behaving in a deterministic manner.

Whether this systemd implementation is any better is, of course, another question entirely.

[0] https://github.com/facebookincubator/oomd