Not sure why this is happening (is it a feature? is it a bug?)
In the maker portal, create a new solution
Add "Opportunity" table to the solution (do not add any metadata/subcomponents)
Create a new column in the Opportunity table - make it a lookup to the "Contact" table
Save changes to the Opportunity table
At this point, if you look at the contents of the solution above, you'll see that "Contact" table was automatically added to the solution with all the subcomponents. This has the potential to mess up layering in the downstream environments if it goes unnoticed by the developer.