MoveTowards speed is inconsistent

I have this code:

void Update()
    {
        if (isMoving)
        {
            Vector3 v = Vector3.MoveTowards(transform.localPosition, moveDestination,Time.deltaTime * movementSpeed);
            transform.localPosition = v;
        }

        if ((Vector2)transform.localPosition == moveDestination)
        {
            isMoving = false;
        }
    }

which is used to move characters in grid based map. However MoveTowards speed is not consistent. It doesn’t matter if I set maxDistanceDelta to 0f, 1f or Time.deltaTime * someSpeed, it always runs inconsistently. When I launch game first movement is always slow and smooth (which is good) but after the first movement objects change their position instantly regardless the maxDistanceDelta value.

Also I was trying to use coroutines but the effect was the same.

Do you know any solution for this?
Thanks in advance!

try transform.position instead of transform.localPosition