### Godot version

4.0.2

### System information

Ubuntu 22.04.1 LTS

### Issue description

![image](https://github.com/godotengine/godot/assets/85438892/4bd89bb0-f4d9-4aa9-8846-0a728e97e1bc)

Notice how the hue is on the blue color, but the saturation is insists on remaining red.

If I change the saturation a little bit, the correct value will apply. But if I adjust the value or the alpha, the blue hue will be punched out and become red again.

### Steps to reproduce

Go to a ColorPicker in the editor (say, the modulate property of Node2D), open the color picker, and copy the above configuration in the HSV tab.

### Minimal reproduction project

N/A
Ref<InputEventMouseButton> bev = p_event;
	if (bev.is_valid()) {
		if (bev->is_pressed() && bev->get_button_index() == MouseButton::LEFT) {
			set_pick_color(p_color);
			add_recent_preset(color);
			emit_signal(SNAME("color_changed"), p_color);
		} else if (bev->is_pressed() && bev->get_button_index() == MouseButton::RIGHT && can_add_swatches) {
			erase_preset(p_color);
			emit_signal(SNAME("preset_removed"), p_color);
		}
	}
}
void ColorPicker::_recent_preset_pressed(const bool p_pressed, ColorPresetButton *p_preset) {
	if (!p_pressed) {
		return;
	}
	set_pick_color(p_preset->get_preset_color());
	recent_presets.move_to_back(recent_presets.find(p_preset->get_preset_color()));
	List<Color>::Element *e = recent_preset_cache.find(p_preset->get_preset_color());
	if (e) {
		recent_preset_cache.move_to_back(e);
	}
	recent_preset_hbc->move_child(p_preset, 0);
	emit_signal(SNAME("color_changed"), p_preset->get_preset_color());
}
void ColorPicker::_text_changed(const String &) {
	text_changed = true;
}
void ColorPicker::_add_preset_pressed() {