Tianon, I bumped into this issue recently.
The problem appears to be that cgroupfs-umount tries to unmount all /sys/fs/cgroup subdirectories, even if the mount wasn't originally created by cgroupfs-mount. elogind mounts /sys/fs/cgroup/{elogind,unified} and is still using them. The solution would seem to me for cgroupfs-umount to only try to unmount the mountpoints it created, ie those derived from /proc/cgroups. Thanks. Mark