If I revert the patch I can see the log output from PayloadEntry(), e.g.:
GET_BOOTLOADER_PARAMETER() = 0x17F766000
But with the patch nothing else is shown in the log besides:
ASSERT_EFI_ERROR (Status = Not Found)
So looks like it's crashing before the PayloadEntry() call. In fact, according to PeiPcdLib.c:43 it fails to locate gPcdPpiGuid:
Status = PeiServicesLocatePpi (&gPcdPpiGuid, 0, NULL, (VOID **)&PcdPpi);
Maybe it's failling inside ./UefiPayloadPkg/UefiPayloadEntry/Ia32/SecEntry.nasm... pretty odd.