Aha, yes that's almost exactly right, and everything that starts with machine.* is a parameter that defines the physical machine:
All of the above are saved on the machine's EEPROM, and are non-volatile, and will survive resets and power-offs. They are sent as part of the "upload machine spec" sequence of commands.
BUT, the only other machine property is machine.pen.size, which is also sent during "upload machine spec", but it IS volatile, and will be reset to a default (0.8 I think) when the arduino starts. There _was_ a really good reason for this not to be saved in EEPROM as well, but I can't remember it now...
What that means is if you're doing something that uses pen width (ie a pixel render style), then you need to always add a "set pen width" to your command queue too.
The home point is considered a feature of the controller app
in the same way that the page, the frame or the artwork is. Syntactic sugar!