Well, as part of HTTP UEFI Boot we also implemented HTTP iPXE new PXE loader, therefore you may not need to break the infinite loop because you would load iPXE directly instead of chainbooting it from PXELinux:
Those patches are backportable, very small.
In regard to TFTP, isn’t easier to just use Fuse SSH? Having the TFTP directory mounted remotely would allow using regular TFTP module.