### Godot version

4.1.dev4

### System information

Windows 10 - Godot 4.1.dev4 - Compatibility

### Issue description

When you syncronize 2 variables and both are in watched mode (taking out the "sync" property too) the server crashes

### Steps to reproduce

Create a MultiplayerSynchronizer, export 2 variables from a script, connect the server and the client and the server will crash instantly

In the project I give, the server and client are connected automatically when you use 2 debug instances when pressing play

### Minimal reproduction project

[minimalproject.zip](https://github.com/godotengine/godot/files/11665652/minimalproject.zip)

sync->connect("visibility_changed", callable_mp(this, &SceneReplicationInterface::_visibility_changed).bind(sync->get_instance_id()));
	_update_sync_visibility(0, sync);
	if (pending_spawn == p_obj->get_instance_id() && sync->get_multiplayer_authority() == pending_spawn_remote) {
		
		ERR_FAIL_COND_V_MSG(pending_sync_net_ids.is_empty(), ERR_INVALID_DATA, vformat("The MultiplayerSynchronizer at path \"%s\" is unable to process the pending spawn since it has no network ID. This might happen when changing the multiplayer authority during the \"_ready\" callback. Make sure to only change the authority of multiplayer synchronizers during \"_enter_tree\" or the \"_spawn_custom\" callback of their multiplayer spawner.", sync->get_path()));
		ERR_FAIL_COND_V(!peers_info.has(pending_spawn_remote), ERR_INVALID_DATA);
		uint32_t net_id = pending_sync_net_ids[0];
		pending_sync_net_ids.pop_front();
		peers_info[pending_spawn_remote].recv_sync_ids[net_id] = sync->get_instance_id();
		
		if (pending_buffer_size > 0) {
			ERR_FAIL_COND_V(!node || sync->get_replication_config().is_null(), ERR_UNCONFIGURED);
			int consumed = 0;
			const List<NodePath> props = sync->get_replication_config()->get_spawn_properties();
			Vector<Variant> vars;
			vars.resize(props.size());
			Error err = MultiplayerAPI::decode_and_decompress_variants(vars, pending_buffer, pending_buffer_size, consumed);
			ERR_FAIL_COND_V(err, err);
			if (consumed > 0) {
				pending_buffer += consumed;
				pending_buffer_size -= consumed;
				err = MultiplayerSynchronizer::set_state(props, node, vars);
				ERR_FAIL_COND_V(err, err);
			}
		}
	}
	return OK;
}
Error SceneReplicationInterface::on_replication_stop(Object *p_obj, Variant p_config) {