The case of kernel_cmdline[splash] only affected me because I didn't realize you changed the systemd service file to include a var for using plymouth or not. Once I set that var to false then nothing would have ever checked for kernel_cmdline[spash] but I had already made the change once I figured that out and it's probably for the best anyway.
I'm not sure exactly what was going on in the mount_initramfs() and unmount_initramfs() functions but INITRAMFS_DIR_ORG wasn't being set because unmkinitramfs wasn't creating a /run/initramfs/main dir which and thus the check for that in mount_initramfs() failed, however in unmount_initramfs() the test "[[ "${INITRAMFS_DIR_ORIG}" != "${INITRAMFS_DIR}" ]]" fails and exits script because INITRAMFS_DIR_ORIG is unset. In this case even if set -u wasn't being used /run/initramfs would fail to umount as it will be set to an empty string.
The case of kernel_cmdline[splash] only affected me because I didn't realize you changed the systemd service file to include a var for using plymouth or not. Once I set that var to false then nothing would have ever checked for kernel_cmdline[spash] but I had already made the change once I figured that out and it's probably for the best anyway.
I'm not sure exactly what was going on in the mount_initramfs() and unmount_initramfs() functions but INITRAMFS_DIR_ORG wasn't being set because unmkinitramfs wasn't creating a /run/initramfs/main dir which and thus the check for that in mount_initramfs() failed, however in unmount_initramfs() the test "[[ "${INITRAMFS_DIR_ORIG}" != "${INITRAMFS_DIR}" ]]" fails and exits script because INITRAMFS_DIR_ORIG is unset. In this case even if set -u wasn't being used /run/initramfs would fail to umount as it will be set to an empty string.