So I managed to get the VM to see both drives.
In dmesg I can see something like this
[ 1.160149] ahci 0000:00:08.0: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x20 impl SATA mode
[ 1.161043] ahci 0000:00:08.0: flags: 64bit ncq sntf ilck led clo only pmp fbs pio slum part
[ 1.187888] ahci 0000:00:09.0: SSS flag set, parallel bus scan disabled
[ 2.186211] ahci 0000:00:09.0: controller reset failed (0xffffffff)
[ 2.187307] ahci: probe of 0000:00:09.0 failed with error -5
So I removed the pci and did a rescan with
root@mars-test-uefi:~# echo "1" > /sys/bus/pci/devices/0000\:00\:09.0/remove
root@mars-test-uefi:~# echo "1" > /sys/bus/pci/rescan
Now when I checked dmesg it shows up properly
[ 795.538214] ahci 0000:00:09.0: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x4 impl SATA mode
[ 795.538219] ahci 0000:00:09.0: flags: 64bit ncq sntf ilck led clo only pmp fbs pio slum part
fdisk -l also shows up both drives now too
root@mars-test-uefi:~# fdisk -l
Disk /dev/sda: 7.28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2U91
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sdb: 7.28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: WDC WD80EFZZ-68B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
It seems like on boot it tries to find the device but it fails to, but on a remove/rescan it seems like its fine?
The question now becomes, how do I make this work ON boot.