Hello,
Please describe more in details how (1) you install windows 7 and (2) how you boot windows 7.
See here for the ipxe script for step 1 and 2.
About vhdx :
-it is all fine to use it as a storage mean on the iscsi target - your iscsi initiator does not care about how your iscsi target stores your image.
-yes, you can use it both vhdx or vhd on your iscsi target - actually, I get better success using vhd.
For the record, my powershell commands to prepare my iscsi target on win2019.
$TargetName = $args[0]
$vhdpath = "C:\_images\" + $args[0] + ".vhd"
$iqn ="iqn.1991-05.com.microsoft:"+$TargetName
C:\_images\vmount.exe createchildvhd $vhdpath
Import-IscsiVirtualDisk -Path $vhdpath
New-IscsiServerTarget -TargetName $TargetName -InitiatorIds "iqn:iqn.2006-11.1"
Set-IscsiServerTarget -TargetName $TargetName -TargetIqn $iqn
Add-IscsiVirtualDiskTargetMapping -TargetName $TargetName -DevicePath $vhdpath
Cheers,
Erwan