For everyone else's reference, this occurs because the animated properties are predetermined (by you) and as of Godot 3 (and so far 4) can't be changed at runtime (as far as I know).
For example, as per the question title:

What's happening is that even though the Node is being translated around, the AnimationPlayer is running an animation where the translation
property changes from exactly (0, 0, 0)
to (0, 2, 0)
, thus no matter where the Node's translation might be at runtime, when the animation starts, it's set to (0, 0, 0)
.
Note you can blend animations with AnimationTrees, but for transforms this is irrelevant.
Solution for Transforms:
Make the Node you're animating a child of another Spatial or Node2D (for 2D). Transform the parent properties for game movements and animate the child's.

More ideally you would want to animate the MeshInstance when you have a KinematicBody with this setup, but it was just an example.
Result:

Hope it helps someone!