I've read other posts that dealt with this issue so I understand it's not a watchdog issue.
https://community.nxp.com/t5/Kinetis-Microcontrollers/Debug-hangs-on-WDOG-EWM-IRQHandler/m-p/704955
https://community.nxp.com/t5/S32K/bus-fault-in-debugging-S32K144W/td-p/1208340
Things that could cause the issue:
Unhandled interrupt calling DefaultISR.
PTA4 grounded (JTAG TMS/ SWD-DIO) - I have ruled this out by measuring 2.6Mohm to ground and measuring 4.97V when powered on.

A little background on my issue:
Due to chip shortage I have switched from S32K146 to S32K144 (same part number otherwise). Originally I was using the 144 and switched to 146 for the same reason, now switching back. I've been developing on this custom board for months without issue. Programming with Multilink Universal ACP. I'm using Processor Expert for setup and yes I'm switching pin_mux configuration and generating code when I switch between processors.
Program works on S32K144EVB (both by programming it and during debug) but not on custom board with 64pin version of the 144. This goes for my current code base as well as trying with an example and also starting from scratch.
It should be noted that the program doesn't work at all, not just in debug mode as some others have found.
In every instance, the issue happens when initializing the pins using PINS_DRV_Init(). More specifically, when pins_driver.c calls PINS_Init(&config[i]). It jumps to pins_port_hw_access.c then to DefaultISR.

All I'm trying to do is flash an LED at this point. Everything is left default except for setting up 2 GPIO pins as outputs (PTE8 and PTD15).
If I comment out the pin init, the program moves through normally, though nothing happens because the pins aren't setup. If I manually set the pins up, it faults when I call PINS_DRV_SetPins(). If I manually set the pins, it faults there instead.


Every permutation of this works fine on the EVB but fails on custom board. I can even run it with another custom board with the 146 without even changing processor. This feels like a hardware issue so I'm going to put another processor on another board and see if that fixes the issue.
These chips came from a shady source and we paid a ransom to get them ($140/chip). Is it possible it's counterfeit? Would it even program if that were the case?
This round of PCBs has not been verified either, though it was a repeat order of a verified PCB. Hopefully they aren't the problem.
Thank you