Look into wiki for partition table.
Main idea is following
Step 1. Download correct iso image
Step 2. Unpack it until you will see 5 files (trust.img, boot.img, roofs.img, etc)
Step 3. Using wiki (partition section) dd four .img (the first 4 in partition table) to your nvme.
Step 4. If it’s doesn’t help, just dd if=/dev/zero of=(your nvme) bs=1M count=64. This will allow boot from sd
The different image for 4b/4c is only the bootloader difference, which contains the specific board name/dtb name. The device tree for all boards are in the image. So you only need to over write the bootloader. You can install the rockpi4c u-boot package and run the upgrade u-boot in SPI flash script then reboot.