Is this common/accepted/desired across the web, or is this just a quirk that Github uses?
I'd guess "uncommon, but acceptable." For instance, the stackexchange API uses /me as a shorthand for "the user associated with this access token".
the singular resource took me by surprise
It really shouldn't (although it isn't at all your fault that it did). The conventions of URI assert that the path segments are organized hierarchically, but there is no requirement or expectation that the root is reserved for collections only.
The canonical example would probably be
Could an api use the spelling
/users/me instead? Well, REST doesn't care how URI are spelled, and that's certainly a reasonable organization of a hierarchy, so RFC 3986 is satisfied. It's just path segments, so it ought to be straight forward for any reasonable routing implementation.
An organization might reasonably decide that they didn't want two (or more) matching rules in play under a given root.
It really just comes down to which conventions an organization thinks will drive better adoption.