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

draw_texture(h_grabber, Vector2(mid_w - h_grabber->get_width() / 2, (size.height - h_grabber->get_height()) / 2));
							set_default_cursor_shape(CURSOR_HSPLIT);
						}
					} break;
					case VIEW_USE_4_VIEWPORTS: {
						Vector2 half(mid_w, mid_h);
						if ((hovering_v && hovering_h && !dragging_v && !dragging_h) || (dragging_v && dragging_h)) {
							draw_texture(vh_grabber, half - vh_grabber->get_size() / 2.0);
							set_default_cursor_shape(CURSOR_DRAG);
						} else if ((hovering_v && !dragging_h) || dragging_v) {
							draw_texture(v_grabber, half - v_grabber->get_size() / 2.0);
							set_default_cursor_shape(CURSOR_VSPLIT);
						} else if (hovering_h || dragging_h) {
							draw_texture(h_grabber, half - h_grabber->get_size() / 2.0);
							set_default_cursor_shape(CURSOR_HSPLIT);
						}
					} break;
				}
			}
		} break;
		case NOTIFICATION_SORT_CHILDREN: {
			Node3DEditorViewport *viewports[4];
			int vc = 0;
			for (int i = 0; i < get_child_count(); i++) {
				viewports[vc] = Object::cast_to<Node3DEditorViewport>(get_child(i));
				if (viewports[vc]) {
					vc++;
				}
			}
			ERR_FAIL_COND(vc != 4);