OK, in case anyone else runs into the same trap, I think I have discovered what my issue is...
Looking at the MCUXpresso Clock Config Tool, for any new project, PLL3_PFD0 is *not* defaulted to 720MHz, it is set to 261.81MHz.
You can change this in the config tool to get 720MHz.
You can also specify the LPSPI functional clock source and divider in the Clock Config Tool, which is updated and set in clock_config.c.
I'm not sure why the SDK samples do this in the main code.
I was trying to set the SPI clock source and divider in my main code and assuming PLL3_PFD0 was defaulting to 720MHz on reset as specified in the Reference Manual, I was unaware that clock_config.c was also setting PLL3_PFD0 and the LPSPI clock, so they were conflicting with each other.
So... the end result, I would recommend using the clock config tool in favor of manual config in code, and validate the values in the config tool are what you expect, not assuming they are the defaults!