accuracy vs Iphone

i think this has been debated in the past...
I bought a Fenix 6 mainly for skitouring and obviously started using also for running instead of iphone with Runkeeper app.
I noticed that my pace was slower than usual but i thought it was because of tiredness or aging...
Then last two times i went runninng I brought the iphone as well. And the results were underwhelming:
1- iphone 5.40km vs 4.58km on garmin (both same time  28m and 40 sec). I checked the path with google map and the iphone distance is exactly the same as google maps, while Garmin route was lagging behind.
2- Today: 45 minutes run: iphone 7.76km vs garmin 6.21km.
what i discovered though is that today the Garmin hasn't kept track of my tour: if I go on Connect, i see the activity, but NO MAP. And so i discovered that this is the case also for other activities in the past: usually the activity is recorded together with the name of the location (and in that case the recorded path is present with the map), while there are some activities where the Connect just says "Running" with no location, and there is no map within. 
Now, with reference to my two tests above, i see the map in the #1 (and so i can tell that the Gamin activity started exactly at the beginning of my running, and when compared to both iphone and google maps, it has measured a shorted distance). For the #2, i have no clue how the garmin can measure the distance since it has not recorded the the map...
Either the Garmin is correct and both the iphone and Google Maps are wrong, or the opposite.
Any help and insight is highly appreciated.
thanks in advance