Hi Nate,
It looks like you have the SerialPortLib linked into the wrong RSC module in the SMM instance. It should be linked into the handler, as it is for the other phases here. You probably just copied the wrong module name, but this is why logging isn't working.
In general, I don't know why PiSmmCpuDxeSmm ever gets special treatment: I've been using RSC to handle writing debug logs for all phases from PEI core onwards without issue. Only SEC core and the RSC handlers are getting the NULL instance.
Regards,
Benjamin