Dual booting OpenWrt confusion

I have an x86/64 box with an internal SSD which is running an OpenWrt snapshot (6.6.83 kernel). The box also has a micro SD card reader which can be used as a boot device. My situation is I have a test image of OW having applied the x86/64 kernel update to 6.12 imaged to a uSD card. I am able to boot off the card but the kernel partition (/boot) is not mounted at boot time.

When I manually try to mount it (it is FAT) there is not vfat module available.
What is really odd is that the output of uname -a indicates it is the 6.6.83 kernel not the 6.12.19 kernel. When I look in /lib/modules/ I see the expected directory for 6.12.19 so something odd is happening.

If I physically remove the internal SSD, I can boot as expected from uSD card and have a fully functional system on the 6.12.19 kernel. What could be happening to cause this?

The root partition guid likely is same

Do you mean the UUID? I will check.

Good guess, they are identical. I thought UUID's were never identical.

# lsblk -f
nvme0n1                                                                               
├─nvme0n1p1   vfat         kernel 1234-ABCD                             175.7M     8% /boot
│                                                                                     /boot
├─nvme0n1p2   ext4         rootfs ff313567-e9f1-5a5d-9895-3ba130b4a864  496.2M    47% /
├─nvme0n1p3   ext4         arch   d596b197-cca5-4b73-b256-95ed6951e155                
└─nvme0n1p128                                                                         

And the uSD card:

% lsblk -f
NAME        FSTYPE      FSVER LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                        
├─sda1      vfat        FAT16 kernel   1234-ABCD                                           
├─sda2      ext4        1.0   rootfs   ff313567-e9f1-5a5d-9895-3ba130b4a864                
└─sda128                                                                                   

They shouldn't be, but that's partially a problem with image based distribution.

Is there a setting I can tweak to use a random one each time? The issue is that I need to occasionally test a testing kernel by booting off the uSD but both it's kernel partition and rootfs partition have the identical UUIDs as the production install on the internal SSD.