so how do you handle / synchronize the initial value of millis() even when it is close to zero?
By setting currentMillis and previousMillis to millis() in setup() or even at the start of loop() with a boolean preventing it happening at every iteration of loop().
If you are dealing with really short periods then use micros() instead.
I just see these "fence posts errors" causing all kinds of grief.
Sorry, you have lost me. Would you care to explain ?