I have an issue with the fragment "whether they are from contrib" - my understanding at this point is that because of the way we package and version contrib it should not be necessary to copy those shared object files from the old to the new server (maybe, just maybe, with a qualification that you are upgrading between two versions that were in support during the same time period).
Just to clarify. In no case are binaries copied from the old server to the new server. Whether from contrib or otherwise.
I had used "binaries" when I should have written "shared object files". I just imagine a DLL as being a binary file so it seems accurate but we use the term differently I suppose?