Ok, removing the line from the USB hub’s PGANG output to /SLEEP (and letting it float!) seems to have fixed the issue with the LED matrix card. I don’t fully understand /why/, so if someone at Framework could offer some hints about how /SLEEP and QSPI_* are connected on the production LED Matrix board that would cause /SLEEP to trigger the bootloader I’d appreciate it. It can’t “just” be connecting /SLEEP to GPIO0, because I do that on my seven-segment display input module as well and that doesn’t trigger this anomalous behavior. Anyway, I’m curious.
But in the meantime, I’m pretty sure this can be solved in v2 of my external enclosure PCB, where SLEEP is under software control. So I’m unblocked.