### Godot version

v4.2.rc2.official [1ba920fad]

### System information

Godot v4.2.rc2 - macOS 14.1.1 - Vulkan (Forward+) - integrated Apple M1 - Apple M1 (8 Threads)

### Issue description

Crash when trying to use "cell_quadrant_size".

The same project works without problems in 4.1.3

### Steps to reproduce

Open the attached project and run it, it'll crash. "Invalid get index"
![スクリーンショット 2023-11-27 16 35 07](https://github.com/godotengine/godot/assets/106015575/50d38ceb-0e6e-49bc-96dc-60abd1d2b6c0)

Here is what the same project looks like when launched from 4.1.3:
![image](https://github.com/godotengine/godot/assets/106015575/4e7e1f1a-ad5b-40ab-90ae-35130c803f09)

### Minimal reproduction project

[engage bug 03.zip](https://github.com/godotengine/godot/files/13471828/engage.bug.03.zip)

for (Vector2i E_coords : p_painted) {
		TileData *tile_data = nullptr;
		TileMapCell cell = get_cell(E_coords);
		if (cell.source_id != TileSet::INVALID_SOURCE) {
			Ref<TileSetSource> source = tile_set->get_source(cell.source_id);
			Ref<TileSetAtlasSource> atlas_source = source;
			if (atlas_source.is_valid()) {
				tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile);
			}
		}
		int terrain = (tile_data && tile_data->get_terrain_set() == p_terrain_set) ? tile_data->get_terrain() : -1;
		if (!p_ignore_empty_terrains || terrain >= 0) {
			constraints.insert(TerrainConstraint(tile_map_node, E_coords, terrain));
		}
	}
	return constraints;
}
void TileMapLayer::set_tile_map(TileMap *p_tile_map) {
	tile_map_node = p_tile_map;
}
void TileMapLayer::set_layer_index_in_tile_map_node(int p_index) {
	if (p_index == layer_index_in_tile_map_node) {
		return;
	}
	layer_index_in_tile_map_node = p_index;
	dirty.flags[DIRTY_FLAGS_LAYER_INDEX_IN_TILE_MAP_NODE] = true;
	tile_map_node->queue_internal_update();
}
Rect2 TileMapLayer::get_rect(bool &r_changed) const {