No tiene que ver con el mapa, porque el trazado está el GPX. Lo que pasa es que el GPX solo son puntos y hay muchas maneras de calcular la distancia recorrida entre dos puntos. Una manera, la más obvia, es calcular la distancia entre dos puntos en línea recta. La otra, la más precisa, es interpolar una curva entre varios puntos y calcular la distancia recorrida por la curva, que seguro será siempre igual o mayor que la línea recta, además de más preciso. El siguiente motivo es simplemente el error acumulado del algoritmo de cálculo. Supongamos que los dos sistemas calculan la distancia en base a las distancias entre puntos en línea recta. Dependiendo de cómo redondee la distancia de cada tramo entre los dos puntos cada algoritmo el resultado final diferirá ligeramente. Por ejemplo, si un algoritmo se queda en dos decimales cortando el resto (redondeo a la baja) o si se queda dos decimales redondeando al más próximo según el tercer decimal habrá un pequeño error de hasta 0,01m por tramo. Si hay 1000 puntos en un track eso puede dar una diferencia de hasta 10m en ese track.