but I don't see anything in your code that implements any type of delay, be it directly or indirectly.
You can't?
digitalWrite(6, HIGH); // set the LED on
delay(5000); // wait for 5 seconds
digitalWrite(4, LOW); // set the Mosfet Off
Right there, in the middle.
OP: You need to think about how you would do something like this, on a longer time line, for instance. Suppose your friend turns the oven on, and asks you to turn it off 5 hours later. How would you turn the oven off on time? You could go stand next to the oven with a timer running. When the timer beeped, you'd turn the oven off. Of course, you'd have to stand there for 5 hours, so as not no miss the beep. You'd miss plenty of other stuff, though.
Alternatively, you can write down the time the oven was turned on. Then, periodically, you check to see if enough time has elapsed to warrant turning off the oven. If it has, you turn the oven off. If not, you watch some more of the ball game, and drink some more beer. If you miss by a second or two noting the time to turn the oven off, it probably won't really matter. And, even if it does, you'll have drunk enough beer to not care.
The delay() function is like you standing next to the oven listening for the timer to beep. Nothing else can happen while you are waiting.
The blink with delay example shows how to use millis() like your watch, and some variables like the paper where you wrote down when the oven was turned on, and how long it should be on.
Now, the Arduino will check it's watch a lot more often than you would, so it won't miss when to turn the oven off, and it won't be drinking beer and watching the ball game while waiting. It's be doing laundry and mowing the grass and walking the dog (or something like that), instead. The point is that it won't miss when to the the oven off.
So, what you need to do is record when the oven (read MOSFET) was turned on, and periodically (read every pass through loop) see if the oven (read MOSFET) is on (the on time is not 0), and, if it is, whether it is time to turn the oven (read MOSFET) off.
Can you manage that? Try something, and post your code. It really isn't that hard.