I've found multiple complaints about Apple Health Walking + Running Distance synchronization here on the forum, but all of them seem to be closed, some even have an explanation from a Garmin employee with steps on how to "fix" the issue. But ultimately, the bug is still there and it is incredibly annoying.
This is how my Walking + Running Distance looks like in Apple Health:
The total amount for the day is roughly doubled because Garmin Connect syncs just one single data point to the Health app. I can verify this in the "All data recorded", here:
You can tell that the phone distributes the distances throughout the day, while GC just dumps it in there.
Here's a screenshot of the day where I had a 5k run:
You can see, that the total amount for the day is almost 16k, which is not true. That's just my phone recognizing I was running around noon, while GC dumped an additional full day of steps into the evening of the said day.
And yes, before someone wildly points it out, I have Garmin Connect set as a first data source over here:
But this doesn't really fix anything, we can actually scroll a bit, just under the list of data sources, to look at what the order actually means:
It would have worked if there were correct time stamps for those distances, and it works well for a number of steps, which GC syncs correctly. But if you add just a single data point, at almost midnight, it won't magically redistribute it through the day.
So lastly, let's look at the developer documentation, over here:
> Apps should avoid saving samples that are 24 hours long or longer.
Oh yes, seems like a bad practice indeed.