Netcode NetworkManager does not call NetworkManager.Singleton.ConnectionApprovalCallback = ApprovalCheck when second player added

On starting the application and player created the NetworkManager.Singleton.ConnectionApprovalCallback = ApprovalCheck is called and proper prefab for player instantiated. When another player starts the app and joins the lobby that first player created the ApprovalCheck` is not called and the second player has the same prefab as the first player.

Unity netcode NetworkManager documentation says for all players, NetworkManager.Singleton.ConnectionApprovalCallback = ApprovalCheck will be invoked, but NetworkManager.Singleton.StartClient does not invoke the callback, whereas NetworkManager.Singleton.StartHost does invoke the callback.