What are the requirements for changes to be synced?

Apologies for the newbie question, but I am having trouble finding a clear answer and not sure I am doing something wrong.

If I stick this in a NetworkBehaviour…

void Update()
{
    if(!IsOwner) return;
       
    if( Input.GetKeyDown(KeyCode.T) )
    {
        TestServerRpc();
    }  
}

[ServerRpc]
void TestServerRpc()
{
    Debug.Log("Running ServerRpc on Client: " + OwnerClientId);
}

…and attach it to the network spawned Player Prefab object, it runs fine on the Host and Client.
But if I attach the same Network Behaviour to an object that already exists in the scene, is not spawned but was added to the Network Prefabs list, it doesn’t sync (omitting the IsOwner check throws an error).

What are the requirements for network sync? Is it possible to have synced behaviour on non-spawned Network objects that live in the scene (with NetworkObject/NetworkBehaviour components, and added to the Network prefabs list on the NetworkManager).

Nevermind, the answer is RTFM.

I cannot find the requirements in the link you’ve given.

These are the requirements for RPC methods: