Why do you have the third "join" table?
This is only needed if you also need to link one contact to more than one company. If a company links to many contacts, but your contacts only link to one company, this additional table and additional complication to your database design is not needed.
And you can put that portal on the parent table so long as you add the appropriate additional Tutorial: What are Table Occurrences? and relationship to use as the basis of the portal.
@Korry, thanks for the demo, works great for what I'm doing here.
@Phil, I need the third join table because a company can have many contacts, but in turn, a contact can be associated with more than one company, so I'm putting all the associations in here. Seems to be working!