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

cursor_can_exit_tree = p_enable;
}
void Tree::set_hide_folding(bool p_hide) {
	if (hide_folding == p_hide) {
		return;
	}
	hide_folding = p_hide;
	queue_redraw();
}
bool Tree::is_folding_hidden() const {
	return hide_folding;
}
void Tree::set_enable_recursive_folding(bool p_enable) {
	enable_recursive_folding = p_enable;
}
bool Tree::is_recursive_folding_enabled() const {
	return enable_recursive_folding;
}
void Tree::set_drop_mode_flags(int p_flags) {
	if (drop_mode_flags == p_flags) {
		return;
	}
	drop_mode_flags = p_flags;
	if (drop_mode_flags == 0) {
		drop_mode_over = nullptr;
	}
	queue_redraw();
}
int Tree::get_drop_mode_flags() const {