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

ERR_FAIL_COND_V_MSG(!is_inside_tree(), Vector<Vector3>(), "Camera is not inside scene.");
	Projection cm = _get_camera_projection(near);
	Vector3 endpoints[8];
	cm.get_endpoints(Transform3D(), endpoints);
	Vector<Vector3> points = {
		Vector3(),
		endpoints[4],
		endpoints[5],
		endpoints[6],
		endpoints[7]
	};
	return points;
}
Point2 Camera3D::unproject_position(const Vector3 &p_pos) const {
	ERR_FAIL_COND_V_MSG(!is_inside_tree(), Vector2(), "Camera is not inside scene.");
	Size2 viewport_size = get_viewport()->get_visible_rect().size;
	Projection cm = _get_camera_projection(near);
	Plane p(get_camera_transform().xform_inv(p_pos), 1.0);
	p = cm.xform4(p);
	p.normal /= p.d;
	Point2 res;
	res.x = (p.normal.x * 0.5 + 0.5) * viewport_size.x;
	res.y = (-p.normal.y * 0.5 + 0.5) * viewport_size.y;
	return res;
}
Vector3 Camera3D::project_position(const Point2 &p_point, real_t p_z_depth) const {