See the image for more details.
For a test, I did a 26 minute walk which used a TOTAL of 133 kcal, of which 115 kcal where ACTIVE.
This means: if I was not walking, I'd use 18 kcal. So, this walk burned an additional 115 kcal.
As I'm watching my kcal intake, I could increase my intake with 115 kcal to keep it at zero.
I would expect to see MyFitnessPall and Google Fit also to see an increased 115 kcal as active burned energy.
Instead of exporting the ACTIVE burned kcal, Garmin exports the TOTAL used kcal to both.
MyFitnessPall takes the TOTAL exported kcal as additional ACTIVE, which thereby creates a difference.
MyFitnessPall processes this Garmin export as additional kcal, which is with the difference on top too much.
And, this was only a small walk. The difference grows when the time is longer.
I can't rely on MyFitnessPal for energy consumption and need to switch between apps to fit the intake with the consumption.
It makes no sense if you choose to integrate with specifically one partner as MyFitnessPal, and you don't align on the metrics.
Another difference is the energy used at a point in time frozen.
The watch displays: 1650 kcal and a fresh sync with "health Sync" Google Fit displays: 1350
That's a difference of 300 kcal.
Google fit doesn't track steps or other exersise and only relies on receiving information from Garmin.
Where does this difference come from?
To me, the synchronisation is a big mess.
As a consumer/professional product, I'd like Garmin Connect to have a more fine tuned export and sync capabilities between services.