Update for others with the same issue:
The datasheet and Hardware reference manual conflict on how to connect an external 24MHz clock source.
I had connected the TCXO per the HRM option 2 (clock to XTALI, XTALO floating). I was able to work around this by commenting out a couple lines in BOARD_BootClockRUN():
//CLOCK_InitExternalClk(0);
//CLOCK_SwitchOsc(kCLOCK_XtalOsc);
This allowed me to run the internal 24MHz RC oscillator
For reference:
Datasheet says Clock must connect to XTALO and connect XTALI to GND with an 18pf cap.
HRM:
15.4.2 Bypass Configuration (24 MHz)
If it is desired to drive the chip with an external clock source, then the 24 MHz oscillator
could be driven in one of three configurations using a nominal 1.1V source.
1. A single ended external clock source can be used to overdrive the output of the
amplifier (XTALO). Since the oscillation sensing amplifier is differential, the
Chapter 15 Crystal Oscillator (XTALOSC)
i.MX RT1050 Processor Reference Manual, Rev. 4, 12/2019
NXP Semiconductors 1183
XTALI pin should be externally floating and capacitively loaded. The combination
of the internal biasing resistor and the external capacitor will filter the signal applied
to the XTALO pin and develop a rough reference for the sensing amplifier to
compare to.
2. A single ended external clock source can be used to drive XTALI. In this
configuration, XTALO should be left externally floating.
3. A differential external clock source can be used to drive both XTALI and XTALO.
Generally, configuration 2 is anticipated to be the most used configuration, but all three
configurations may be utilized.