Repository: godot
Issue: MultiplayerSynchronizer does not sync 'Spawn' properties if a client is the authority of the MultiplayerSynchronizer
Labels: bug,topic:multiplayer

### Godot version

v4.1.3, v4.1.2, v4.2.beta6

### System information

Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; 31.0.15.4601) - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)

### Issue description

MultiplayerSynchronizer nodes do not seem to sync properties marked as 'spawn' to other clients, if the authority of the node is a client and not the server.

Example:

A player scene is spawned using a MultiplayerSpawner whenever a player connects. The `spawn_function` of the MultiplayerSpawner is used to give the authority to the respective client

```
spawner.spawn_function = _on_spawn

...

func _on_lobby_player_connected(peer_id, _player_info):
	if spawner.is_multiplayer_authority():
		print("Peer connected! Creating player for ", peer_id)
		spawner.spawn(peer_id)

...

func _on_spawn(authority : int) -> Node:
  var player = player_scene.instantiate()
  player.set_multiplayer_authority(authority, true)
  return player
```

The player scene has a script with a property called `spawn_sync`. The getter and setter of this property print some debug info when they are called. The player scene also includes a MultiplayerSynchronizer, where the `spawn_sync` property is set to be synced on spawn.

```
@export var some_value : int = 100

var spawn_sync : int :
	get:
		print(name, " spawn_sync Getter called on peer ", Lobby.multiplayer.get_unique_id())
		return some_value
	set(value):
		print(name, " spawn_sync Setter called on peer ", Lobby.multiplayer.get_unique_id())
		some_value = value
```

![image](https://github.com/godotengine/godot/assets/15236145/f8fbfb4e-f1bf-4bd4-a46c-19640e297829)

When running the game, the following output would be what I expect:

```
Peer connected! Creating player for host

Peer connected! Creating player for client

Player spawn_sync Getter called on peer host
Player spawn_sync Setter called on peer client

Player2 spawn_sync Getter called on peer client
Player2 spawn_sync Setter called on peer host
```

Player is the node spawned for the host, and Player2 is the node spawned for the client.
First the host creates the game, and a player is spawned. Then a client joins and another player is spawned and the MultiplayerSynchronizers sync the spawn_sync properties on both players.

The actual output looks like this:

```
Peer connected! Creating player for host

Peer connected! Creating player for client

Player spawn_sync Getter called on peer host
Player spawn_sync Setter called on peer client
```

Only the MultiplayerSynchronizer that is owned by the host is syncing the spawn_sync property to the client, but the client-authorative MultiplayerSynchronizer does not sync the spawn_sync to the host.

The same thing happens when more clients join. Only the host is syncing the spawn property, but no client is syncing the spawn property to any other client

### Steps to reproduce

Run the provided project with multiple instances (Debug>Run Multiple Instances). Click the 'Host' button on one instance, and then the 'Join' button on other instances.

The output will then look like in the explanation above, except 'host' and 'client' will instead be the unique id of the peer. The outputs also will not be in the same order as in the example, but as far as I am aware this is not relevant to the problem.

`player.tscn` is the spawned player scene containing the MultiplayerSynchronizer
`main.tscn` is the scene loaded on start, and contains a MultiplayerSpawner that spawns the players
The autoload `lobby.gd` used for hosting and connecting is the lobby example from the [High-level multiplayer documentation](https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html#example-lobby-implementation), but I removed the code for scene loading.

### Minimal reproduction project

[MultiplayerSpawnSyncClients-MRP.zip](https://github.com/godotengine/godot/files/13393007/MultiplayerSpawnSyncClients-MRP.zip)