Hi Michael,
I had missed the fact that the HobList pointer is updated in the entry to PEI core when ShadowedPeiCore is NULL. It had seemed odd to me that nobody else experienced issues, so in hindsight, that wouldn't have been the problem. I'm still not sure why CurrentWriteOffset is zeroed, which might imply that the only SpiFlashDebug HOB available is the one just built (https://github.com/tianocore/edk2-platforms/blob/master/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.c#L300) when I call SerialPortInitialize() again. I may have to debug this further.

Regarding the test points, I guess I just assumed it would work, and without debug logs, I can't see where it would it fail. However, I'll have to assume that they're unrelated to this pointers-in-HOB issue.

Best regards,
Benjamin