### Godot version

3.5.2 RC2

### System information

Windows 10

### Issue description

If a gridmap is hidden in the editor and `get_tree().reload_current_scene()` is used, the gridmap will reappear on reset. Using `hide()` or `visible = false` in `_ready()` will not work:
![image](https://github.com/godotengine/godot/assets/16231628/1843f94c-1106-4f6a-ba97-4063174d8714)

The only fix is to use:
![image](https://github.com/godotengine/godot/assets/16231628/e2392aa2-3e79-4d43-bc92-0457319a4b60)


```swift
func _ready():
    show()
    hide()
```

### Steps to reproduce

- Add a gridmap node
- Set visibility in editor to false
- Use `get_tree().reload_current_scene()`

### Minimal reproduction project

[brokenhideshow.zip](https://github.com/godotengine/godot/files/12441673/brokenhideshow.zip)

NavigationServer3D::get_singleton()->free(E.value.region);
			E.value.region = RID();
		}
		if (E.value.navigation_mesh_debug_instance.is_valid()) {
			RS::get_singleton()->free(E.value.navigation_mesh_debug_instance);
			E.value.navigation_mesh_debug_instance = RID();
		}
	}
	g.navigation_cell_ids.clear();
	
	for (int i = 0; i < g.multimesh_instances.size(); i++) {
		RS::get_singleton()->free(g.multimesh_instances[i].instance);
		RS::get_singleton()->free(g.multimesh_instances[i].multimesh);
	}
	g.multimesh_instances.clear();
	if (g.cells.size() == 0) {
		
		_octant_clean_up(p_key);
		return true;
	}
	Vector<Vector3> col_debug;
	/*
	 * foreach item in this octant,
	 * set item's multimesh's instance count to number of cells which have this item
	 * and set said multimesh bounding box to one containing all cells which have this item
	 */
	HashMap<int, List<Pair<Transform3D, IndexKey>>> multimesh_items;
	for (const IndexKey &E : g.cells) {
		ERR_CONTINUE(!cell_map.has(E));
		const Cell &c = cell_map[E];