In git lingo origin is simply the default name for a remote from which a repo was originally cloned. It might equally have been referred to as source or remote1 or simply remote.
Remember that git could be a peer-to-peer, distributed system, not one with any built-in notion of client/server, master/slave, parent/child relationships (though these could be obligatory upon it by a user in a particular scenario).
All remotes are equal. origin is solely (and literally) the primary among those equals (for a cloned repo).
The name associated with each remote is intended for your convenience. If you discover that origin doesn't really work for you then you can change it.
As for your interpretations of the push statement, your first is the closest to being correct but the push command as written will push the local master branch to the master branch on the remote known by the (locally configured) name origin.
If there's no master branch within the remote then one will be created.