I tried a little bit of everything, in the end I was able to boot the system without any (almost) systemd modules in the initramfs image.
First I changed the file /etc/dracut.conf.d/ostree.conf:
#add_dracutmodules+=" ostree systemd "
omit_dracutmodules+=" ostree systemd systemd-network-management systemd-ac-power systemd-ask-password systemd-battery-check systemd-bsod systemd-coredump systemd-creds systemd-hostnamed systemd-initrd systemd-integritysetup systemd-journald systemd-ldconfig systemd-modules-load systemd-networkd systemd-pcrextend systemd-portabled systemd-pstore systemd-repart systemd-resolved systemd-sysctl systemd-sysext systemd-timedated systemd-timesyncd systemd-tmpfiles systemd-udevd systemd-veritysetup systemd-import systemd-cryptsetup systemd-emergency dracut-systemd systemd-sysusers "
Then I run the following command:
dracut -f --no-hostonly-cmdline "/boot/initramfs-linux-6th.img" --kver 6.19.12-1
This produce an image with the following modules for systemd and crypt:
-rw-r--r-- 1 root root 70 Mar 25 13:16 etc/crypttab
-rwxr-xr-x 1 root root 8177 Mar 25 13:16 lib/dracut-crypt-lib.sh
-rwxr-xr-x 1 root root 5668 Mar 25 13:16 sbin/cryptroot-ask
-rwxr-xr-x 1 root root 838 Mar 25 13:16 sbin/crypt-run-generator
-rwxr-xr-x 1 root root 6263440 Mar 25 13:16 usr/lib/libcrypto.so.3
lrwxrwxrwx 1 root root 14 Mar 25 13:16 usr/lib/libcrypto.so -> libcrypto.so.3
-rwxr-xr-x 1 root root 605168 Mar 25 13:16 usr/lib/libcryptsetup.so.12.11.0
lrwxrwxrwx 1 root root 24 Mar 25 13:16 usr/lib/libcryptsetup.so.12 -> libcryptsetup.so.12.11.0
lrwxrwxrwx 1 root root 24 Mar 25 13:16 usr/lib/libcryptsetup.so -> libcryptsetup.so.12.11.0
-rwxr-xr-x 1 root root 198632 Dec 25 16:30 usr/lib/libcrypt.so.2.0.0
lrwxrwxrwx 1 root root 17 Mar 25 13:16 usr/lib/libcrypt.so.2 -> libcrypt.so.2.0.0
lrwxrwxrwx 1 root root 17 Mar 25 13:16 usr/lib/libcrypt.so -> libcrypt.so.2.0.0
-rwxr-xr-x 1 root root 230104 Mar 25 13:16 usr/sbin/cryptsetup
-rwxr-xr-x 1 root root 415 Mar 25 13:16 var/lib/dracut/hooks/cleanup/30-crypt-cleanup.sh
-rwxr-xr-x 1 root root 8031 Mar 25 13:16 var/lib/dracut/hooks/cmdline/30-parse-crypt.sh
-rw-r--r-- 1 root root 169 Mar 25 13:16 etc/conf.d/systemd.conf
-rwxr-xr-x 1 root root 1291560 Mar 17 21:45 usr/lib/libsystemd.so.0.40.0
lrwxrwxrwx 1 root root 20 Mar 25 13:16 usr/lib/libsystemd.so.0 -> libsystemd.so.0.40.0
lrwxrwxrwx 1 root root 15 Mar 25 13:16 usr/lib/libsystemd.so -> libsystemd.so.0
-rw-r--r-- 1 root root 821 Mar 17 21:45 usr/lib/modprobe.d/systemd.conf
drwxr-xr-x 2 root root 0 Mar 25 13:16 usr/lib/systemd
-rwxr-xr-x 1 root root 4316328 Mar 17 21:45 usr/lib/systemd/libsystemd-shared-257.so
lrwxrwxrwx 1 root root 17 Mar 25 13:16 usr/lib/systemd/systemd-udevd -> ../../bin/udevadm
And then I had to change the kernel_cmdline parameter in limine with the following:
rd.luks.uuid=luks-7375153a-b334-432e-9171-b11d9e8d13d2 rd.lvm.lv=lvm0/root rd.lvm.lv=lvm0/swap root=/dev/mapper/lvm0-root rootfstype=ext4 rootflags=rw resume=UUID=bfdb664a-c454-4150-a710-50a604e62c29
Here my /etc/crypttab:
hdcrypt0 UUID=7375153a-b334-432e-9171-b11d9e8d13d2 none