### 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.
jst_to_line = lines_rid.size() - 1;
				}
				if (line_jst_flags.has_flag(TextServer::JUSTIFICATION_SKIP_LAST_LINE_WITH_VISIBLE_CHARS)) {
					for (int i = lines_rid.size() - 1; i >= 0; i--) {
						if (TS->shaped_text_has_visible_chars(lines_rid[i])) {
							jst_to_line = i;
							break;
						}
					}
				}
			}
			for (int i = 0; i < lines_rid.size(); i++) {
				if (i < jst_to_line && horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) {
					TS->shaped_text_fit_to_width(lines_rid[i], width, line_jst_flags);
					overrun_flags.set_flag(TextServer::OVERRUN_JUSTIFICATION_AWARE);
					TS->shaped_text_overrun_trim_to_width(lines_rid[i], width, overrun_flags);
					TS->shaped_text_fit_to_width(lines_rid[i], width, line_jst_flags | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS);
				} else {
					TS->shaped_text_overrun_trim_to_width(lines_rid[i], width, overrun_flags);
				}
			}
		}
		lines_dirty = false;
	}
	_update_visible();
	if (autowrap_mode == TextServer::AUTOWRAP_OFF || !clip || overrun_behavior == TextServer::OVERRUN_NO_TRIMMING) {
		update_minimum_size();
	}
}
void Label::_update_visible() {