Hi Ken,
In this case does it really matter which one Marketo sees? If you want to "send a campaign to all contacts attached to an opportunity with a status of Open" then Marketo will inlcude that contact because he has AN opportunity that meets the filter criteria, it doesn't matter if he has 3 other closed won and 4 other closed lost opptys, he still has one open opportunity so he meets the filter criteria.
Smart lists always return the count of leads, not opportunities or other related objects so when using the has opportunity filter I like to say to myself "Find me all leads who have an opportunity where .......... the status is open".