Podman[1] is the answer.
To elaborate on this, podman allows specifying mirrors, as described in https://github.com/containers/image/blob/main/docs/container...
So the source of the image can be decided on pull. Some more on this https://www.redhat.com/en/blog/manage-container-registries
It parses all man pages on your system and generates completion files for you. By default, they go into ~/.cache/fish/generated_completions/*
If the man page was written poorly/is missing, you can always write your own completion (and hopefully send it upstream). fish uses such a simple format that I don't think there's any need for tutorials save the official doc:
https://fishshell.com/docs/current/completions.html
For example, here's an excerpt from curl