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

locked_label->set_h_size_flags(SIZE_SHRINK_CENTER);
	bottom_center_vbox->add_child(locked_label);
	locked_label->set_text(TTR("View Rotation Locked"));
	locked_label->hide();
	zoom_limit_label = memnew(Label);
	zoom_limit_label->set_text(TTR("To zoom further, change the camera's clipping planes (View -> Settings...)"));
	zoom_limit_label->set_name("ZoomLimitMessageLabel");
	zoom_limit_label->add_theme_color_override("font_color", Color(1, 1, 1, 1));
	zoom_limit_label->hide();
	bottom_center_vbox->add_child(zoom_limit_label);
	preview_material_label = memnew(Label);
	preview_material_label->set_anchors_and_offsets_preset(LayoutPreset::PRESET_BOTTOM_LEFT);
	preview_material_label->set_offset(Side::SIDE_TOP, -70 * EDSCALE);
	preview_material_label->set_text(TTR("Overriding material..."));
	preview_material_label->add_theme_color_override("font_color", Color(1, 1, 1, 1));
	preview_material_label->hide();
	surface->add_child(preview_material_label);
	preview_material_label_desc = memnew(Label);
	preview_material_label_desc->set_anchors_and_offsets_preset(LayoutPreset::PRESET_BOTTOM_LEFT);
	preview_material_label_desc->set_offset(Side::SIDE_TOP, -50 * EDSCALE);
	Key key = (OS::get_singleton()->has_feature("macos") || OS::get_singleton()->has_feature("web_macos") || OS::get_singleton()->has_feature("web_ios")) ? Key::META : Key::CTRL;
	preview_material_label_desc->set_text(vformat(TTR("Drag and drop to override the material of any geometry node.\nHold %s when dropping to override a specific surface."), find_keycode_name(key)));
	preview_material_label_desc->add_theme_color_override("font_color", Color(0.8, 0.8, 0.8, 1));
	preview_material_label_desc->add_theme_constant_override("line_spacing", 0);
	preview_material_label_desc->hide();
	surface->add_child(preview_material_label_desc);
	frame_time_gradient = memnew(Gradient);
	/
	frame_time_gradient->add_point(0.5, Color());
	top_right_vbox = memnew(VBoxContainer);