Which library are you using? There are several, and they differ in how the colon is addressed.
My code has
const uint8_t colonMask = 0b01000000;
...
display.showNumberDecEx(hourFormat12(timeinfo.tm_hour), colonMask, false, 2, upperDigits);
Which appears to boil down to the same thing you posted, so yours should work.
Therefore, it is likely that there is some other mistake in your code that is doing it...