Getting the velocity out of a kinematic rigidbody works correctly that way (setting continuous values using MovePosition / MoveRotation from FixedUpdate).
However, using Lerp is not the best solution. This will provide continuous but “jumpy” values. As myRig.position gets closer to currentState.position then the velocity decreases progressively. When currentState.position receives a new value then the speed suddenly increases, then progressively decreases again as myRig.position approaches it.
You may need to implement a different solution that provides more steady velocity. Maybe with Mathf.MoveTowards, but I don’t have experience here so I can’t tell for sure.