Every reporting tool is built differently and reports differently. Differences between sources come with the territory. But an ad platform reports on its own performance, which is not a neutral position.
Analytics usually is neutral, provided the origin information is passed correctly. With Meta, a lot goes wrong on that path. Treat around 10% difference as normal; beyond that there is something to fix.