I see the problem, the character keeps moving because it has a Follow Path Constraint added directly to the Armature object, that's why I couldn't see it in the Dopesheet.
The NurbsPath object is the one that handles the movement of the character, and the animation is in the "Evaluation Time" property that has a modifier in the animation curve that makes the position animation infinite
To fix this problem you can go to the last frame of the animation, right click on the "Evaluation" property and select "Clear Keyframes", that removes the modifier causing the problem. In the same position you add a keyframe to the same property, and in the first frame you set the "Evaluation" property to 0. And to finish in the "Graph Editor" window you select both frames, press the V key and select the "Vector " to make the animation linear.