Conditionally copying data from either Contact or Opportunity during Opportunity Contact Role creation behaves differently when creating Opportunity from Contact (Opportunity Contact Role is inserted by the system automatically) vs creating the Opportunity Contact Role directly from the Opportunity.
To reproduce: use an After Save Record-Triggered Flow that triggers when OpportunityId and ContactId are not null
Example Formula
BLANKVALUE({!$Record.Opportunity.Last_Became_an_MQL_Date__c},
{!$Record.Contact.Last_Became_an_MQL_Date__c})
When adding a Contact Role from the Opportunity - data passes through without issue - all behaves as expected.
When creating an Opportunity from the Standard New button on the Contact's Standard Opportunity Related List, the Flow behaves as if no data is being passed in by the related Contact.