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

plane_mat->set_shading_mode(StandardMaterial3D::SHADING_MODE_UNSHADED);
				plane_mat->set_flag(StandardMaterial3D::FLAG_DISABLE_FOG, true);
				plane_mat->set_on_top_of_alpha();
				plane_mat->set_transparency(StandardMaterial3D::TRANSPARENCY_ALPHA);
				plane_mat->set_cull_mode(StandardMaterial3D::CULL_DISABLED);
				plane_mat->set_albedo(col);
				plane_gizmo_color[i] = plane_mat; /
				surftool->set_material(plane_mat);
				surftool->commit(move_plane_gizmo[i]);
				Ref<StandardMaterial3D> plane_mat_hl = plane_mat->duplicate();
				plane_mat_hl->set_albedo(albedo);
				plane_gizmo_color_hl[i] = plane_mat_hl; /
			}
			/
			{
				Ref<SurfaceTool> surftool = memnew(SurfaceTool);
				surftool->begin(Mesh::PRIMITIVE_TRIANGLES);
				int n = 128; /
				int m = 3; /
				real_t step = Math_TAU / n;
				for (int j = 0; j < n; ++j) {
					Basis basis = Basis(ivec, j * step);
					Vector3 vertex = basis.xform(ivec2 * GIZMO_CIRCLE_SIZE);
					for (int k = 0; k < m; ++k) {
						Vector2 ofs = Vector2(Math::cos((Math_TAU * k) / m), Math::sin((Math_TAU * k) / m));
						Vector3 normal = ivec * ofs.x + ivec2 * ofs.y;
						surftool->set_normal(basis.xform(normal));
						surftool->add_vertex(vertex);
					}
				}