USplineComponent::GetDistanceAlongSplineAtInputKey() returns the wrong value when the input keys are not sequential because it interprets the input key argument as the spline point index. Thus if the input keys are (0,2,4,8) and this methods is called with 2, it will return the distance at input key 4 (spline point index 2) rather than the distance at input key 2.
This method must be deprecated and a new method added. Deprecation is necessary as not to break existing implementations which may be relying on the current behavior.
Note that this method was introduced in CL 2231418 in 2014 so the bug has been in the codebase for a long time.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-152904 in the post.