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

queue_redraw();
			return;
		}
		if (range_drag_enabled) {
			return;
		}
		switch (mb->get_button_index()) {
			case MouseButton::RIGHT:
			case MouseButton::LEFT: {
				Ref<StyleBox> bg = theme_cache.panel_style;
				Point2 pos = mb->get_position();
				if (rtl) {
					pos.x = get_size().width - pos.x;
				}
				pos -= bg->get_offset();
				cache.click_type = Cache::CLICK_NONE;
				if (show_column_titles) {
					pos.y -= _get_title_button_height();
					if (pos.y < 0) {
						pos.x += theme_cache.offset.x;
						int len = 0;
						for (int i = 0; i < columns.size(); i++) {
							len += get_column_width(i);
							if (pos.x < static_cast<real_t>(len)) {
								cache.click_type = Cache::CLICK_TITLE;
								cache.click_index = i;
								queue_redraw();
								break;
							}
						}