### 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)

ERR_FAIL_COND_V(!p_buffer || p_size < 1, ERR_INVALID_PARAMETER);
	ERR_FAIL_COND_V(!multiplayer->has_multiplayer_peer(), ERR_UNCONFIGURED);
	Ref<MultiplayerPeer> peer = multiplayer->get_multiplayer_peer();
	peer->set_transfer_channel(0);
	peer->set_transfer_mode(p_reliable ? MultiplayerPeer::TRANSFER_MODE_RELIABLE : MultiplayerPeer::TRANSFER_MODE_UNRELIABLE);
	return multiplayer->send_command(p_peer, p_buffer, p_size);
}
Error SceneReplicationInterface::_make_spawn_packet(Node *p_node, MultiplayerSpawner *p_spawner, int &r_len) {
	ERR_FAIL_COND_V(!multiplayer || !p_node || !p_spawner, ERR_BUG);
	const ObjectID oid = p_node->get_instance_id();
	const TrackedNode *tnode = tracked_nodes.getptr(oid);
	ERR_FAIL_COND_V(!tnode, ERR_INVALID_PARAMETER);
	uint32_t nid = tnode->net_id;
	ERR_FAIL_COND_V(!nid, ERR_UNCONFIGURED);
	
	uint8_t scene_id = p_spawner->find_spawnable_scene_index_from_object(oid);
	bool is_custom = scene_id == MultiplayerSpawner::INVALID_ID;
	Variant spawn_arg = p_spawner->get_spawn_argument(oid);
	int spawn_arg_size = 0;
	if (is_custom) {
		Error err = MultiplayerAPI::encode_and_compress_variant(spawn_arg, nullptr, spawn_arg_size, false);
		ERR_FAIL_COND_V(err, err);
	}
	
	List<NodePath> state_props;
	List<uint32_t> sync_ids;