Another Millis Timer off question...

not_in_use:
THIS is where I get confused. Won't the millis get updated each time through the program? How do you capture it only once?

millis() is constantly updated but you only capture the start time when an event happens

One important thing to note is that the event in question is an input becoming released, not when it is released, which will be most of the time.