SANs reports whatever they want in thei own UI, and pass back advertiser IDs to MMP via a private API. SANs do not operate any deduplication with other networks, and tend to maximize the impact of their own impressions to show higher visible ROAS, whether true or not. That's why view-through is set up by default (up to 48h in the case of Google who pushes the boundaries of impression attribute further than ever seen). No matter how you set up your attribution window on your MMP side, you will be invoiced for what the SANs said.
MMPs see first opens via their SDK in your app, and receive in parallel advertising IDs from SANs claiming the install. Before reporting these figures, they operate some basic filtering, based on several criteria including reattribution, specific (opt-in only) attribution window, deduplication, blatant fraud cases etc.
As a consequence, it's likely to see a lower number of first opens reported in your MMP. Difference can vary across apps, due to complexity of channel mix, penetration & others. I often see FB overreporting +5 to 10% vs MMPs.
Google & Apple have additional factors at play that can push this discrepancy further up.
I published a video describing the specificities of Apple Search Ads discrepancies on Appsflyer blog a while back. Some additional factors (11.3 & 11.4 installs were lost, underage are always considered LAT, etc) came to my knowledge after the recording. Those do not apply to the other SANs.