### Godot version

4.2 Stable

### System information

Linux

### Issue description

Calling TreeItem set_text() on a TreeItem that was removed via remove_child() causes debugging to end and the application to close without any error message.

### Steps to reproduce

Run the included example to get the debugger to crash. Comment out "treeItem.remove_child(subTreeItem)" for normal behaviour. 

### Minimal reproduction project

[treeItemCrash.zip](https://github.com/godotengine/godot/files/13534005/treeItemCrash.zip)

switch (p_what) {
		case NOTIFICATION_FOCUS_ENTER: {
			if (get_viewport()) {
				focus_in_id = get_viewport()->get_processed_events_count();
			}
		} break;
		case NOTIFICATION_MOUSE_EXIT: {
			if (cache.hover_type != Cache::CLICK_NONE) {
				cache.hover_type = Cache::CLICK_NONE;
				queue_redraw();
			}
		} break;
		case NOTIFICATION_VISIBILITY_CHANGED: {
			drag_touching = false;
		} break;
		case NOTIFICATION_DRAG_END: {
			drop_mode_flags = 0;
			scrolling = false;
			set_physics_process_internal(false);
			queue_redraw();
		} break;
		case NOTIFICATION_DRAG_BEGIN: {
			single_select_defer = nullptr;
			if (theme_cache.scroll_speed > 0) {
				scrolling = true;
				set_physics_process_internal(true);
			}
		} break;