@olivierlambert After a bit of trial and error I think I found out why this was not working for me. There were two issues which I think was causing the issue.
(i) I had a local SR which was used for ISO storage. I deployed a Debian VM via XO (which had a bios firmware) and noticed that I was getting the same error when the OS was being installed. This ISO SR was created on a SSD which was with Advanced Format (4K). Even though XCP-ng allows the SR to be created it seems it is not able to read from the SR if it is with 4K format. The release note for 8.3 says it supports 4K via largeblock driver, but it seems it it is not for iso, So I moved the SR from a 4K disk to a legacy one and XO was able to create the VM and start install
(ii) The default Debian 12 template has Secureboot enabled by default along with UEFI. Since I had no reason for to enable Secureboot I had not enrolled the platform keys on the host. Once the VM is created from the template I disabled secureboot with the command
xe vm-param-set platform:secureboot=false
Once this was done I was able to boot from the CD ROM.
If possible I have a couple of suggestions
When the SR is created using type ext it does not allow the SR to be created if the underlying disk is 4K format without specifying largeblock. But it allows the SR creation when the type is iso. Maybe it is possible to check the type of underlying storage before ISO SR creation?
Else it could be documented in this page Storage in XCP-ng with a clear warning not to create SRs in 4K storage. It looks like XCP-ng has not issues in installing itself in a 4K storage, but then the Guesttools will not work anymore as it gets installed in the 4K disk and the VM is not able to read it and gives and IO error
The template for Linux systems may be modified to not require Secureboot.