To get it to run the way you want, you need to use two flows.
The trigger flow always resets a variable to the starting value, even if the timer is running. If the light is off, it turns it on and then uses a Connect Flow Thing to start the timer flow.
The timer flow decrements the variable, and when the timer is done it checks the variable. If it is down to 0, it turns off the light. If it is not at zero yet, it loops back to the beginning of the timer flow to run it again.
Anytime there is an additional trigger, the variable will get set back up to its original value, which will cause the timer flow to loop for a longer time.
For example a 5 minute timer setup will run approximately 5 to 6 minutes more after any additional trigger before turning off the light.