### Godot version

v4.2.dev2.mono.official 

### System information

Godot v4.2.dev2.mono - Windows 10.0.22621 - GLES3 (Compatibility) - NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.3179) - Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz (16 Threads)

### Issue description

When making a change on a TileSet, the TileSet tab will close, so you have to reopen it to continue doing what you want to do.

https://github.com/godotengine/godot/assets/88297220/b9f727d8-3ced-404a-9eb0-06f22c66bb99



### Steps to reproduce

1. Add a TileMap
2. Assign a TileSet to the TileMap
3. Add a new layer or make a change to the TileSet.

### Minimal reproduction project

N/A
if (pattern_preview_thread.is_started()) {
		pattern_thread_exit.set();
		pattern_preview_sem.post();
		while (!pattern_thread_exited.is_set()) {
			OS::get_singleton()->delay_usec(10000);
			RenderingServer::get_singleton()->sync(); 
		}
		pattern_preview_thread.wait_to_finish();
	}
	singleton = nullptr;
}
void TileMapEditorPlugin::_tile_map_changed() {
	if (tile_map_changed_needs_update) {
		return;
	}
	tile_map_changed_needs_update = true;
	callable_mp(this, &TileMapEditorPlugin::_update_tile_map).call_deferred();
}
void TileMapEditorPlugin::_update_tile_map() {
	if (tile_map && tile_map->get_tileset().is_valid()) {
		EditorNode::get_singleton()->edit_item(tile_map->get_tileset().ptr(), InspectorDock::get_inspector_singleton());
	}
	tile_map_changed_needs_update = false;
}
void TileMapEditorPlugin::_notification(int p_notification) {
	if (p_notification == NOTIFICATION_EXIT_TREE) {
		get_tree()->queue_delete(TilesEditorUtils::get_singleton());
	}
}
void TileMapEditorPlugin::edit(Object *p_object) {