I see your point. You could create two custom fields, one just for the conversion and one for the Opportunity: Converted Date and Added to Opportunity Date. You could do this within the same campaign. The trigger would remain the same, the flow steps would change. I would start with a wait step of 2 minutes because Mkto can struggle with timing if a Lead is converted and an Opportunity is created at the same time. Then, the next step would be change data value of Converted Date to the current date with {{system.DateTime}}. Then add another flow step of Change Data Value with a choice. For Choice 1, "If Has Opportunity TRUE," then "Attribute: Added to Opportunity Date is {{system.DateTime}}". If you have a Lead where these dates match, then you know it was converted with an Opportunity. If they don't, then they were just converted.
You can create more data management campaigns that add a date when they are added to an Opportunity (opposed to creating one upon conversion). Then, you can null that value out when the Opportunity stage is changed to anything that implies that the Opportunity is closed (Won, Lost, Project Gone/Changed, etc.).