You make a very valid point, but the registry could just as well include information about moving.
Eg if the user tries to instantiate a package with a given UUID, the package manager could inform the user that this package has been relocated to the registry GeneralArchives, which should be added (this should be offered automatically). I see this just an interface issue that can be handled.
We don’t need to sacrifice reproducibility at all, it’s not like we are trying to erase a package from history. It is just moved to another registry, a hallowed burial ground of packages that will remain available forever for code archeology.