Yeah, it's A since opportunity access grants implicit read-only access to the parent account. That's core Salesforce sharing behavior. Contacts might be visible if they're controlled by parent, but the main trigger here is that implicit share via Opportunity. Pretty sure this only matters if OWD on Account is Private though, otherwise it wouldn't be noticeable. Agree?
This depends on whether the question is asking about best practice or what actually happens out-of-the-box in Salesforce. If account OWD was set to Private, would this still occur?