### Godot version

Godot v4.2.stable 

### System information

Windows 10.0.22631 - Vulkan (Forward+) - dedicated AMD Radeon RX 7900 XTX (Advanced Micro Devices, Inc.; 31.0.22023.1014) - AMD Ryzen 7 7800X3D 8-Core Processor (16 Threads)

### Issue description

When you disable `current` on a Camera3D, the first available Camera3D in the scene will have it's `current` property set to true.

### Steps to reproduce

Add 2 Camera3D nodes to a scene, note both have `current` disabled.
Enable and disable `current` on one Camera3D.
After `current` is disabled on one Camera3D, the other Camera3D has it's `current` property set to true

### Minimal reproduction project

[minimal.zip](https://github.com/godotengine/godot/files/13522846/minimal.zip)

switch (p_what) {
		case NOTIFICATION_ENTER_WORLD: {
			
			
			
			viewport = get_viewport();
			ERR_FAIL_NULL(viewport);
			bool first_camera = viewport->_camera_3d_add(this);
			if (current || first_camera) {
				viewport->_camera_3d_set(this);
			}
#ifdef TOOLS_ENABLED
			if (Engine::get_singleton()->is_editor_hint()) {
				viewport->connect(SNAME("size_changed"), callable_mp((Node3D *)this, &Camera3D::update_gizmos));
			}
#endif
		} break;
		case NOTIFICATION_TRANSFORM_CHANGED: {
			_request_camera_update();
			if (doppler_tracking != DOPPLER_TRACKING_DISABLED) {
				velocity_tracker->update_position(get_global_transform().origin);
			}
		} break;
		case NOTIFICATION_EXIT_WORLD: {
			if (!get_tree()->is_node_being_edited(this)) {