Creating LVM cache fails with "Default cache policy is not available"

I’m trying to create a cache within LVM on an SSD.

I’ve created the cache pool as so:

lvcreate --type cache-pool --name cache -l +100%FREE vg /dev/nvme0n1p2

but attaching the cache to the LV with:

lvconvert --type cache --cachepool vg/cache vg/root

fails with:

Default cache policy is not available.

I have found nothing by searching for this error.

My lvm.conf contains:

config {}
devices {
  allow_mixed_block_sizes = 1
}

I ‘fixed’ this by running

modprobe dm-default

Then I added this to the kernel modules and initramfs modules and rebooted. This left me with an unbootable system.