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

if (is_inside_tree() && !get_tree()->is_node_being_edited(this)) {
		return get_viewport()->get_camera_3d() == this;
	} else {
		return current;
	}
}
Vector3 Camera3D::project_ray_normal(const Point2 &p_pos) const {
	Vector3 ray = project_local_ray_normal(p_pos);
	return get_camera_transform().basis.xform(ray).normalized();
};
Vector3 Camera3D::project_local_ray_normal(const Point2 &p_pos) const {
	ERR_FAIL_COND_V_MSG(!is_inside_tree(), Vector3(), "Camera is not inside scene.");
	Size2 viewport_size = get_viewport()->get_camera_rect_size();
	Vector2 cpos = get_viewport()->get_camera_coords(p_pos);
	Vector3 ray;
	if (mode == PROJECTION_ORTHOGONAL) {
		ray = Vector3(0, 0, -1);
	} else {
		Projection cm = _get_camera_projection(near);
		Vector2 screen_he = cm.get_viewport_half_extents();
		ray = Vector3(((cpos.x / viewport_size.width) * 2.0 - 1.0) * screen_he.x, ((1.0 - (cpos.y / viewport_size.height)) * 2.0 - 1.0) * screen_he.y, -near).normalized();
	}
	return ray;
};
Vector3 Camera3D::project_ray_origin(const Point2 &p_pos) const {