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

int buttons_width = 0;
			for (int j = p_item->cells[i].buttons.size() - 1; j >= 0; j--) {
				Ref<Texture2D> button_texture = p_item->cells[i].buttons[j].texture;
				Size2 button_size = button_texture->get_size() + theme_cache.button_pressed->get_minimum_size();
				item_width -= button_size.width + theme_cache.button_margin;
				buttons_width += button_size.width + theme_cache.button_margin;
			}
			int text_width = item_width - theme_cache.inner_item_margin_left - theme_cache.inner_item_margin_right;
			if (p_item->cells[i].icon.is_valid()) {
				text_width -= _get_cell_icon_size(p_item->cells[i]).x + theme_cache.h_separation;
			}
			p_item->cells.write[i].text_buf->set_width(text_width);
			r_self_height = compute_item_height(p_item);
			label_h = r_self_height + theme_cache.v_separation;
			if (p_pos.y + label_h - theme_cache.offset.y < 0) {
				continue; 
			}
			Rect2i item_rect = Rect2i(Point2i(ofs, p_pos.y) - theme_cache.offset + p_draw_ofs, Size2i(item_width, label_h));
			Rect2i cell_rect = item_rect;
			if (i != 0) {
				cell_rect.position.x -= theme_cache.h_separation;
				cell_rect.size.x += theme_cache.h_separation;
			}
			if (theme_cache.draw_guides) {
				Rect2 r = cell_rect;
				if (rtl) {
					r.position.x = get_size().width - r.position.x - r.size.x;
				}
				RenderingServer::get_singleton()->canvas_item_add_line(ci, Point2i(r.position.x, r.position.y + r.size.height), r.position + r.size, theme_cache.guide_color, 1);
			}