It will only be updated after the second stopBatch is called.
startBatch / stopBatch has a counter in it. startBatch adds 1, stopBatch subtracts one. When it reaches 0, it fires off all events with the same ev.batchNum value.
EJS only responds once for a given section of code for the same batchNum. So firstName John will be ignored.