Animator sync does not work when the host has more than two connections. What's the problem?

When the host has more than two connections, the host and the second client are in sync well, but the first client is out of sync.
If to the host connection one client than everything works well.
I will be grateful for help.

Without details it's hard to answer, but maybe are attaching a NetworkAnimator component to clients with ownership? If that's the case you might want to try extending the NetworkAnimator component like so:

    public class OwnerNetworkAnimator : NetworkAnimator
    {
        protected override bool OnIsServerAuthoritative()
        {
            return false;
        }
    }

I tried this, but it didn't help me.
My player prefab has a OwnerNetworkAnimator, Network Transport and Network Object(I show their configurations) and other components.9058906--1252429--adfds.png
When a match is starting, the HostPlayer calls StartGame method and calls StartMove() method from the Runner:

public class HostPlayer : INetworkPlayer
{
      public void StartGame()
        {
            Debug.Log("OnStartGame");
            IEnumerator<IRunner> runners = _allRunnersNetworkObjectData.Keys.GetEnumerator();
            while (runners.MoveNext() == true)
            {
                if (_oldClientData?[_reversePlayersRunners[runners.Current]].IsFinished == true)
                    continue;
                runners.Current.StartMove();
            }

            // some code 
        }
}
public class Runner : MonoBehaviour, IRunner
{
     public void StartMove()
        {
            _cinemachineDollyCart.m_Speed = _startSpeed;

            if (_cinemachineDollyCart.m_Speed < MIN_MOVE_SPEED_VALUE)
                _cinemachineDollyCart.m_Speed = MIN_MOVE_SPEED_VALUE;
            if (_cinemachineDollyCart.m_Speed > MAX_MOVE_SPEED_VALUE)
                _cinemachineDollyCart.m_Speed = MAX_MOVE_SPEED_VALUE;

            _animator.SetBool(_isRunningParamentrName, true);
        }
}

The animator controller will be shown.9058906--1252444--asdfdsfd.png
With one client(host + client) everything works well, but with two clients(host + first client + second client), first client's animator parameters "IsRunning" is not synchronized.

I found a temporary option of solution for this problem:

using UnityEngine;
using Unity.Netcode;

public class RunnerNetworkAnimator : NetworkBehaviour
    {
        #region Fields

        [Header("Animator")]
        [SerializeField] private Animator _runnerAnimator;
        [Header("Parameters")]
        [SerializeField] private string _isRunningParameterName = "IsRunning";

        private NetworkVariable<bool> _isRunning = new NetworkVariable<bool>();

        #endregion

        #region Unity Methods

        public override void OnNetworkSpawn()
        {
            _isRunning.OnValueChanged += HandleParameterChanged;
        }
        public override void OnNetworkDespawn()
        {
            _isRunning.OnValueChanged -= HandleParameterChanged;
        }

        #endregion

        #region Public Methods

        public void SetIsRunning(bool isRunning)
        {
            _isRunning.Value = isRunning;
        }

        #endregion

        #region Private Methods

        private void HandleParameterChanged(bool oldValue, bool newValue)
        {
            _runnerAnimator.SetBool(_isRunningParameterName, newValue);
        }

        #endregion
    }

But the question remains open because this problem is strange to me and I don't understand how to solve it.