When a repo is private and the collaboration settings are incomplete, an organization member gets a 404 page.
This results in confusion, I’ve had coworkers assume the repo is missing or the link given is incorrect. My guess the 404 is for security and avoids leaking information.
Allow organization members to know the repo exists and they do not have access (403).
Even better would be some copy or a link as to how to ask for access.
If the users is anonymous or not an org member, continue 404’ing.