You describe the migration of data from the subsite to site collection as being trivial, but typically this type of change is Not trivial -- unless you are using some sort of migration tool such as ShareGate -- but if you are planning to use built-in export/import or backup/restore, you are probably not going to be able to move a subsite to a top-level site ...
App Catalog can be setup at Site collection level and not site (web)/subsite level.
You can create a site collection app catalog using SharePoint Online PowerShell.
Add-SPOSiteCollectionAppCatalog -Site https://contoso.sharepoint.com/sites/marketing
By using PnP PowerShell:
Add-PnPSiteCollectionAppCatalog -site https://contoso.sharepoint....
You don't specify in you question what mechanism you are using to associate project document dependencies, but assuming you are using metadata of some sort on your document libraries to indicate which project(s) they are associated with, I think your best bet is to use the Highlighted Content WebPart:
In the settings of your WebPart instance, under the "...