### Godot version

4.2.dev [202e4b2]

### System information

N/A

### Issue description

Changing the property `vertical_alignment` in a `Label` still changes the position of the letters, even if said `Label` is at its minimum size, implying that it could be shrunk further:
![image](https://github.com/godotengine/godot/assets/30739239/7fdd87bd-53b1-4397-8594-1ee4e5efbcf5)

### Steps to reproduce

Create a `Label` node, type anything in it, and the `vertical_alignment` property.

### Minimal reproduction project

N/A, trivially reproducible.
break;
			case TextServer::OVERRUN_TRIM_ELLIPSIS:
				overrun_flags.set_flag(TextServer::OVERRUN_TRIM);
				overrun_flags.set_flag(TextServer::OVERRUN_ADD_ELLIPSIS);
				break;
			case TextServer::OVERRUN_TRIM_WORD:
				overrun_flags.set_flag(TextServer::OVERRUN_TRIM);
				overrun_flags.set_flag(TextServer::OVERRUN_TRIM_WORD_ONLY);
				break;
			case TextServer::OVERRUN_TRIM_CHAR:
				overrun_flags.set_flag(TextServer::OVERRUN_TRIM);
				break;
			case TextServer::OVERRUN_NO_TRIMMING:
				break;
		}
		
		BitField<TextServer::JustificationFlag> line_jst_flags = jst_flags;
		if (!tab_stops.is_empty()) {
			line_jst_flags.set_flag(TextServer::JUSTIFICATION_AFTER_LAST_TAB);
		}
		if (autowrap_mode != TextServer::AUTOWRAP_OFF) {
			int visible_lines = get_visible_line_count();
			bool lines_hidden = visible_lines > 0 && visible_lines < lines_rid.size();
			if (lines_hidden) {
				overrun_flags.set_flag(TextServer::OVERRUN_ENFORCE_ELLIPSIS);
			}
			if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) {
				int jst_to_line = visible_lines;
				if (lines_rid.size() == 1 && line_jst_flags.has_flag(TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE)) {
					jst_to_line = lines_rid.size();