You can use any of the protocols defined by the flake types. Only one of them is github.
In the context of nixpkgs, technically I would say that there currently are no official mirrors. The only official source are the channel tarballs, which live under https://channels.nixos.org/$channel/nixexprs.tar.xz.
If you use channels, you already know how to use this (and your system is set to use it by default). If you use flakes, just replace your github: URL with that https URL.
When flakes entered the scene, the github repo was used as a crutch because at the time there was no reasonable way to update tarballs. Nix got the lockable tarball protocol since, though, so now we can use the tarballs that hydra produces again.
These tarballs in fact contain a bit of extra data that you cannot get from the branches, and the branches are only moved ahead for development reasons after the tarballs are successfully published.
So, the GitHub branches have organically grown to become “mirrors” that don’t actually properly mirror the tarballs. It isn’t their intended use, they’ve just been abused for this for so long that that has been forgotten.
That said, unofficial mirrors do exist. There’s a university in China that runs one, for example (though I don’t know if it implements the lockable tarball protocol yet), and detsys’ flakehub also contains one.
IMO if our goal is to further derisk our use of GitHub as a platform, we should just aggressively update all documentation that we can reasonably update, and generally spread awareness of this mis-practice.
I’d also like to add that, for this precise reason, that article is inaccurate. I agree with the general premise, but the author is clearly also under the false impression that nixpkgs uses git for versioning.
There are proper, detached versions, which are published via CI jobs. For historic reasons the community has just started using an experimental feature which didn’t use the proper distribution method at one point, and instead explicitly clones the git repo.
Now doc/usage lag (note that the nixpkgs manual, against which the complaint is levied, says nothing about how to use it with flakes, with a single exception that clearly snuck in accidentally) means that few people are even aware that this isn’t the intended way to use nixpkgs.
Also, to be completely fair, nixpkgs is a Linux distro. Distro versioning is very different from project versioning. Including nixpkgs in this article just doesn’t make sense to me.