That is incorrect according to @mike.maxwell. From what I have been told, the keypad only issues its armed message after its exit delay. So, when armed from a keypad, there is no exit delay issued by HSM. This is very evident when you have 2 keypads, as I do. When you arm from one, it goes through its delayed exit countdown, after which HSM is armed. Then keypad #2 goes through its exit delay countdown even though the system itself is already armed.
This is also incorrect if you have 2 keypads because of the way the messaging to them works. When HSM issues an arm away command to the keypads, they begin their countdown. If you were to enter your code on one and therefore disarm that keypad, the system would disarm. However, when keypad 2 finishes its countdown it will then arm HSM with no exit delay and keypad #1 would begin its exit delay even though the system is fully armed. The only way I have found is to allow the system to arm, and during intrusion delay, enter the disarm code.
Now you see why I was so frustrated when I was trying to get my second keypad to work.
Also, if you have only one keyad once you arm the system and it goes into exit delay, the only way to disarm it, is from they keypad. If you disarm from a dashboard, once the exit delay on the keypad is finished, HSM will be armed.
I don't know if all of this is how it's intended to work or if it's the only way it can work but that's the way it does work, today.