I have just run a quick test by displaying the Currentmillis before and after the delay and the two numbers are the same, does this not suggest that the delay is stopping the millis counter for a millisecond then resarting it where it left of, or have I read this wrong?
If you are displaying the value in the variable Currentmillis before and after the delay() there is no reason to expect the values shown to be different.
If you are displaying the value returned by millis() before and after the delay(), then the values should be different.