How can I keep kernel module versions updated across btrfs snapshots (EndeavourOS)?

For context, I do LVM-on-LUKS.

Sometimes, I make btrfs snapshots of my root partition.

However, as soon as I update the kernel, and still boot my older btrfs snapshot, the kernel modules in /usr/lib/modules/ there are still in the previous version, so when I boot that snapshot with the newer kernel, it won’t boot because the snapshot does not have the kernel module for the newer version, making it useless.

Arch/EndeavourOS deletes and replaces the previous kernel and initrd when updating to the newer one. It also deletes the previous kernel module versions in /usr/lib/modules and replaces it with the newer one during kernel updates.

I tried /usr/lib/modules on a brand-new and separate partition, but it’s not mounted yet when the root partition is already mounted and systemd starts, the mounting process for /etc/fstab fails and takes me to an emergency shell.