I don't know if op is still following but.... Anyway.
PXE booting PE trough HTTP…
This is all the basics to be able to boot directly your PE compilation over PXE trough HTTP.
First of all you will need the following.
1 - A working TFTP Single Port server of your choice.
2 - Your favorite Web server software.
3 - SYSLinux.
https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip 4 - iPXE.
https://ipxe.org/download 5 - Wimboot.
https://ipxe.org/wimboot Second Step is to create the directory architecture and copy files to their respective folder.
I used a directory architecture exactly like the following…
Root
|--RBS
|--Boot
| |--Win10pe
|
|--PXELinux.cfg
|
Third Step. Extract the following files from the SYSLinux package. The files needed are located in \Bios and copy them in \RBS
If you are using EFI you can find those files in the \EFI32 and \EFI64 folders.
pxelinux.0
libcom32.c32
libcom32.elf
ldlinux.c32
ldlinux.elf
libutil.c32
vesamenu.c32
Extract ipxe.krn from it's ISO and copy it to \RBS
Copy Wimboot to \RBS\Boot\
Copy the following files from your PE compilation to \RBS\Boot\Win10pe (The wim image must use LZX Compression and standard boot loader)
bcd
boot.sdi
boot.wim
Fourth step,
If not already done... Configure your DHCP server option 66 to "full.dns.name.of.the.tftp.server.local" and option 67 to "pxelinux.0" without quotes.
Install and/or Configure your TFTP server to have it's Root located at the \RBS folder.
Install and/or configure your web server to have a virtual directory named Boot pointing at \RBS\Boot. Ex: "
http://yourwebserver.local/boot"
Verify if you are able to download pxelinux.0 over TFTP and download Wimboot over HTTP... Troubleshoot accordingly.
The goal: At PXE initialisation PXELinux.0 is served by TFTP then executes the content of the file \RBS\PXELinux.cfg\Default
from there chains to iPXE that downloads required files over http and start booting them with wimboot.
Fifth step, 2 configuration files are needed.
In the directory \RBS\PXELinux.cfg create/edit a text file named "Default" and use the following code in it.
If you already use PXELinux create a new menu entry and use the code from LABEL PE10.
DEFAULT vesamenu.c32
TIMEOUT 1
LABEL PE10
MENU DEFAULT
MENU LABEL Win10PE
KERNEL ipxe.krn
APPEND dhcp && chain http://yourwebserver.local/boot/win10pe/boot.ipxe
In the directory \RBS\Boot\Win10PE create a text file named "boot.ipxe" and use the following code in it.
#!ipxe
kernel http://yourwebserver.local/boot/wimboot
initrd http://yourwebserver.local/boot/win10pe/bcd BCD
initrd http://yourwebserver.local/boot/win10pe/boot.sdi boot.sdi
initrd http://yourwebserver.local/boot/win10pe/boot.wim boot.wim
boot
This chains directly to iPXE and automatically boots the PE image.

Have Fun !!!