So in order to get the relationship to appear on both sides, I created a plugin on the associate and dissassociate event. From there I referenced the target and related entity records. I am checking the relationship name returned with ".Referencing" then making the reciprocal relationship using ".Referenced" and flipping the entity in the association and disassociation.
Here is the code
private static void ReciprocalRelationship(IOrganizationService service, IPluginExecutionContext context,
EntityReference targetEntity, EntityReference relatedEntity, string relationshipName, string tableName)
{
if (targetEntity.LogicalName == contact.LogicalName &&
relationshipName == tableName + ".Referencing")
{
var relationship = new Relationship()
{
PrimaryEntityRole = EntityRole.Referenced,
SchemaName = tableName
};
if (context.MessageName == MessageNames.Associate)
service.Associate(targetEntity.LogicalName, targetEntity.Id, relationship,
new EntityReferenceCollection { relatedEntity });
else if (context.MessageName == MessageNames.Disassociate)
service.Disassociate(targetEntity.LogicalName, targetEntity.Id, relationship,
new EntityReferenceCollection { relatedEntity });
}
}