### Godot version

v4.0.beta12.mono.official [3c9bf4bc2]

### System information

Windows 10

### Issue description

When using GetTree().ChangeScene (or GetTree().ReloadCurrentScene), the orphan node count in Monitors goes up by the number of nodes in the target scene.

This effect is amplified when running a scene that has lots of nodes.


I've also tested this in the previous beta (v4.0.beta11.mono.official [91713ced8]) and confirmed the issue didn't exist there.

### Steps to reproduce

1. Run the included Minimal Reproduction Project.
2. Open the Debugger/Monitors tab.
3. Press "Space" to load Scene2.tcsn (2 Nodes).
 - Orphan nodes increases by 2.
5. Press "Space" to load Scene1.tcsn (3 Nodes).
 - Orphan nodes increases by 3.

### Minimal reproduction project

[MRP.zip](https://github.com/godotengine/godot/files/10415860/MRP.zip)

ERR_FAIL_COND(p_scene && p_scene->get_parent() != root);
	current_scene = p_scene;
}
Node *SceneTree::get_current_scene() const {
	return current_scene;
}
void SceneTree::_change_scene(Node *p_to) {
	if (current_scene) {
		memdelete(current_scene);
		current_scene = nullptr;
	}
	
	if (unlikely(_quit)) {
		if (p_to) { 
			memdelete(p_to);
		}
		return;
	}
	if (p_to) {
		current_scene = p_to;
		root->add_child(p_to);
		root->update_mouse_cursor_shape();
	}
}
Error SceneTree::change_scene_to_file(const String &p_path) {