There shouldn't be any significant performance hit on lookups, the code structure is irrelevant to that. Any of these structures still just contain references to objects, the lookup time for those objects will be the same regardless.
You should structure your objects to match your data and increase clarity in your code. If an object is a separate concern from another object, don't make it a property. If its directly related, then it may make sense for it to be a property of the other object. There is no real performance concern here, this is about structuring your code so its readable, clear, and easy to work with.