Well, it’s always going to load the kernel and initrd from the sd card. You can’t change that. The initrd though should be reading the root= and attempting to mount that as /. Well before that, the PCIe bus and NVMe should have been initialized. fstab should not be a factor as it uses /dev/root as a placeholder for the root partition.
Look for lines in your boot log like…
[ 4.545222] nvme nvme0: pci function 0005:01:00.0
...
[ 4.545256] nvme 0005:01:00.0: enabling device (0000 -> 0002)
...
[ 4.656730] nvme0n1: p1 p2 p3
and then
[ OK ] Reached target System Initialization.
[ OK ] Reached target Basic System.
[ OK ] Found device Samsung SSD 950 PRO 256GB _nvme_root.
Of course, I have a Samsung drive so you may see something else.
Also, do an lsblk to see exactly what was mounted.