Millis() to hours, minutes, seconds, and milliseconds

You don't need any additional solution... you already had milliseconds in the original code that you have now commented out?

//currentMillis %= 1000;

After this statement currentMillis just contains the milliseconds part.