Thanks for the info. Upon further debugging it turned out to be the SPI Chip Select (CS) output that is defined differently depending on which board is selected. “3” for the XIAO and “D3” for the ESP32. Not using the right pin results in the SPI device never getting data / returning data.
Since the Wire lib does not seem to implement a proper timeout, waiting for a reply to ID which LCD display is being used was hanging it up.
All was for naught as the speed of my program actually was slower with the ESP32. Took twice as long to read sensors, process and display the results. I do quite a lot of floating point math and trig functions along with quite a lot of SPI transactions updating the LCD display.