### Godot version

Master (4.2)

### System information

Windows 11 - Vulkan - Nvidia RTX 4070 - intel i5 13600KF

### Issue description

As you can see in the video when you try to add multiple scenes in to the 3D viewport (only with multiple scenes) the editor throws this error.

```
ERROR: Can't add child '@Node3D@18837' to '@SubViewport@9274', already has a parent '@SubViewport@9274'.
   at: (scene\main\node.cpp:1411)
```


Video: https://youtu.be/BVcCIigQJDw

This happens in the latest master (pulled on 2.11.2023).

### Steps to reproduce

Drag couple of the 3d mesh scenes into the 3D viewport and then select multiple scenes and drag them over and observer the error.

### Minimal reproduction project

[TestSceneDragAndDrop.zip](https://github.com/godotengine/godot/files/13253741/TestSceneDragAndDrop.zip)

memdelete(instantiated_scene);
			return false;
		}
	}
	if (scene != nullptr) {
		instantiated_scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(path));
	}
	EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
	undo_redo->add_do_method(parent, "add_child", instantiated_scene, true);
	undo_redo->add_do_method(instantiated_scene, "set_owner", EditorNode::get_singleton()->get_edited_scene());
	undo_redo->add_do_reference(instantiated_scene);
	undo_redo->add_undo_method(parent, "remove_child", instantiated_scene);
	String new_name = parent->validate_child_name(instantiated_scene);
	EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
	undo_redo->add_do_method(ed, "live_debug_instantiate_node", EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent), path, new_name);
	undo_redo->add_undo_method(ed, "live_debug_remove_node", NodePath(String(EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent)) + "/" + new_name));
	Node3D *node3d = Object::cast_to<Node3D>(instantiated_scene);
	if (node3d) {
		Transform3D gl_transform;
		Node3D *parent_node3d = Object::cast_to<Node3D>(parent);
		if (parent_node3d) {
			gl_transform = parent_node3d->get_global_gizmo_transform();
		}
		gl_transform.origin = preview_node_pos;
		gl_transform.basis *= node3d->get_transform().basis;
		undo_redo->add_do_method(instantiated_scene, "set_global_transform", gl_transform);
	}
	return true;
}
void Node3DEditorViewport::_perform_drop_data() {