You are correct in the description of how the circuit works.
I'll say the same, in different words, sometimes that helps.
When power is first applied the NPN transistor is off, nd therefore the 100k resistors pulls the gate to the source of the Fet and the Fet stays "off".
When the push button next to the transistor is pushed, the gate of the fet is connected to GND and the Fet turns on. and this effectively forms a short between Source and Drain.
You can add some voltage regulator between the Drain of the Fet and the Arduino, or use the arduino power supply circuitry if it has any.
When the arduino receives power, the first thing it should do is to make the I/O pin high.
This opens the NPN transistor, which keeps the voltage on the gate of the Fet low after the button is released. The normal duration of a button push can be 500ms or lower, so that is all the time the arduino has.
When the arduino is finished with it's job, it makes the I/O pin low, which turns off the NPN transistor, the voltage on the Gate is pulled high by the 100k resistor and the MOS fet turns off.