AIPath keeps rotating after reachedDestination is true?

Hello,
I am trying to implement walking to and turning towards a switch - first I set destination and once AIPath reachedDestination is true I try to rotate my character manually.

Unfortunately it seems that even if reachedDestination is true, AIPath still tries to rotate my character and both systems fight over rotation which result in weird pause - then my system takes over and rotates the character to the correct value.
If I turn off updateRotation (commented out in the code snippet) then it behaves correctly but next time player tries to walk I need to turn it back on and player gets rotated

Any ideas how to fix it? thanks!

IEnumerator WalkTo (Interaction interaction) 
    {
        ai.destination = interaction.destination.position;
        ai.SearchPath();
        
        while (!ai.reachedDestination) 
        {
            yield return null;
        }

        Vector3 directionToTarget = interaction.lookAtFromDestination.position - interaction.destination.position;
        Quaternion targetRotation = Quaternion.LookRotation(directionToTarget);
        // ai.updateRotation = false;

        while(Mathf.Abs(Vector3.Dot(directionToTarget.normalized, Player.instance.transform.forward.normalized)) < 1f)
        {
            Player.instance.transform.rotation = Quaternion.Slerp(Player.instance.transform.rotation, targetRotation, 0.1f);        
            yield return null;
        }
    }

and here are my settings: