After more thinking about this, I think it is normal we are not allowed to assigned a NameObjectCollectionBase object to another one as its main root would differ at first making sense for the error message I am getting at the designer level. It might work for a dictionary but not for a NameObjectCollectionBase object.
I will have to try with the locking mechanism instead.
In the meantime, if you see a workaround with the 2nd approach or if you would know why I am getting this, feel free to let me know.