Pro Micro not going to bootloader on auto-reset

If I put a (certain relatively long and complex) sketch on the Pro Micro, the normal process of opening the serial port at 1200 baud (auto-reset for the Pro Micro/Leonardo) will reset the AVR but it's going right back into the normal sketch instead of into the bootloader.

The sketch that is on the board opens the serial port, but doesn't send any data on it normally.

The only change made to the sketch that caused it to stop allowing auto-reset to bootloader was the implementation of some CPP precompiler constexpr's.

If I send another auto-reset immediately, then it does go into the bootloader.

Due to the complexity and length of the code, I'm disinclined to post it in its entirety here, however I can point to github if anybody would like to see it.

If anybody has any insight on things to check or do, I'd be greatly appreciative.