I use Mercurial with github using the hg-git plugin (which is on github: https://hg-git.github.io) It lets you use Mercurial more-or-less seamlessly as a git client. Anything you can do with git[*] you can do with hg, using an interface which actually makes sense and doesn't hate me. Git branches map to hg bookmarks, tags just work, merging and branching and multiple heads just work, etc, etc. You don't need to set up your hg repository _or_ your github repository specially, you just tell hg to clone the git path and it just works. It's great.
I don't think I've ever used a native hg repository.