### Godot version

v4.1.beta.custom_build [d3651ea45]

### System information

Windows 11

### Issue description

![1](https://github.com/godotengine/godot/assets/28705694/15c14c93-7ad7-425a-8fb0-bef841b75527)

It's not possible to start text selection on a SpinBox when it's unfocused.

Note: After a bit of digging in the code, I found that clicking on a SpintBox doesn't trigger `SpinBox::gui_input` no matter if it's focused or not. However, releasing mouse left button does trigger the function.

### Steps to reproduce

See the gif.

### Minimal reproduction project

It's simple to reproduce.
et_selection_to_column() const;
	void delete_char();
	void delete_text(int p_from_column, int p_to_column);
	void set_text(String p_text);
	String get_text() const;
	void set_text_direction(TextDirection p_text_direction);
	TextDirection get_text_direction() const;
	void set_language(const String &p_language);
	String get_language() const;
	void set_draw_control_chars(bool p_draw_control_chars);
	bool get_draw_control_chars() const;
	void set_structured_text_bidi_override(TextServer::StructuredTextParser p_parser);
	TextServer::StructuredTextParser get_structured_text_bidi_override() const;
	void set_structured_text_bidi_override_options(Array p_args);
	Array get_structured_text_bidi_override_options() const;
	void set_placeholder(String p_text);
	String get_placeholder() const;
	void set_caret_column(int p_column);
	int get_caret_column() const;
	void set_max_length(int p_max_length);
	int get_max_length() const;
	void insert_text_at_caret(String p_text);
	void clear();
	void set_caret_mid_grapheme_enabled(const bool p_enabled);
	bool is_caret_mid_grapheme_enabled() const;
	bool is_caret_blink_enabled() const;
	void set_caret_blink_enabled(const bool p_enabled);
	float get_caret_blink_interval() const;
	void set_caret_blink_interval(const float p_interval);
	void set_caret_force_displayed(const bool p_enabled);
	bool is_caret_force_displayed() const;
	void copy_text();
	void cut_text();
	void paste_text();
	bool has_undo() const;
	bool has_redo() const;
	void undo();
	void redo();
	void set_editable(bool p_editable);
	bool is_editable() const;
	void set_secret(bool p_secret);
	bool is_secret() const;
	void set_secret_character(const String &p_string);
	String get_secret_character() const;
	virtual Size2 get_minimum_size() const override;
	void set_expand_to_text_length_enabled(bool p_enabled);
	bool is_expand_to_text_length_enabled() const;
	void set_clear_button_enabled(bool p_enabled);
	bool is_clear_button_enabled() const;
	void set_shortcut_keys_enabled(bool p_