Ok so I followed the update instructions, made the Boot test USB, deleted the extra kexts from /Library/Extensions and rebuilt the kext cache, then booted from the USB bootloader into my Mojave disk (which is a CCC backup). I got as far as bringing up the Catarina installer, but then it said Catarina couldn't be installed on the disk because it wasn't formatted AFPS. Turns out my CCC backups were not being formatted as APFS for some reason, and the disk was Journaled. So unable to convert the disk, I formatted it as APFS and redid the CCC backup from my main disk. I rebooted and tried to boot into the disk again but it failed. I made another USB to see if that was the problem. Then I realised I'd forgotten to delete the kexts this time. So I booted back into the disk, deleted the kexts and ran sudo kextcache. When I booted again it loaded for a bit then gave me the no-entry sign. I reformatted the disk, did the CCC clone again, deleted the kexts and ran sudo kextcache again, and when I try and boot from the USB bootloader I get the no entry sign again. I tried removing the USB and just booting from the drive and I get "error loading kernel cache".
Any ideas?