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

current = !current;
			camera->set_doppler_tracking(current ? Camera3D::DOPPLER_TRACKING_IDLE_STEP : Camera3D::DOPPLER_TRACKING_DISABLED);
			view_menu->get_popup()->set_item_checked(idx, current);
		} break;
		case VIEW_CINEMATIC_PREVIEW: {
			int idx = view_menu->get_popup()->get_item_index(VIEW_CINEMATIC_PREVIEW);
			bool current = view_menu->get_popup()->is_item_checked(idx);
			current = !current;
			view_menu->get_popup()->set_item_checked(idx, current);
			previewing_cinema = true;
			_toggle_cinema_preview(current);
			if (current) {
				preview_camera->hide();
			} else {
				if (previewing != nullptr) {
					preview_camera->show();
				}
			}
		} break;
		case VIEW_GIZMOS: {
			int idx = view_menu->get_popup()->get_item_index(VIEW_GIZMOS);
			bool current = view_menu->get_popup()->is_item_checked(idx);
			current = !current;
			uint32_t layers = ((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + index)) | (1 << GIZMO_GRID_LAYER) | (1 << MISC_TOOL_LAYER);
			if (current) {
				layers |= (1 << GIZMO_EDIT_LAYER);
			}
			camera->set_cull_mask(layers);
			view_menu->get_popup()->set_item_checked(idx, current);
		} break;