The problem lies that duplicated collections only duplicate the top collection in the hierarchy, and also just adds the objects to the duplicated collection instead of duplicating the objects.
The painful workaround, (when I refer to subcollections I mean all the collections nested in a top collection, and the collections nested in these nested collections, and so on)
1) Duplicate the hierarchy:
Duplicate the collection and then duplicate each subcollection, then you unlink the original subcollection, do this in a recursive way. to know if everything has been duplicated you compare to the original collection, all subcollections must have a .001
2) Duplicate the objects:
With all the hierarchy duplicated, then select the objects in the top collection and duplicate the objects (go briefly to viewport), now you have to select in each duplicated subcollection(the .001 ones) the original objects and unlink them, conversely, you select in each original subcollection(without .001) the duplicated objects and unlink them.
Now compare collections, all the objects in the duplicated collection must have a .001 and the original collection not.
This hierarchy duplication feature is being worked on, so the full duplication of collections will be easier
https://developer.blender.org/T58702
"We will likely add a "Duplicate Hierarchy" for this in the future, for now all this does is duplicate the collection, not its contents." I hope when the developer says "its contents" also refers to objects inside subcollections