### 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.
Ref<StyleBox> style = theme_cache.normal_style;
	int width = (get_size().width - style->get_minimum_size().width);
	if (dirty || font_dirty) {
		if (dirty) {
			TS->shaped_text_clear(text_rid);
		}
		if (text_direction == Control::TEXT_DIRECTION_INHERITED) {
			TS->shaped_text_set_direction(text_rid, is_layout_rtl() ? TextServer::DIRECTION_RTL : TextServer::DIRECTION_LTR);
		} else {
			TS->shaped_text_set_direction(text_rid, (TextServer::Direction)text_direction);
		}
		const Ref<Font> &font = (settings.is_valid() && settings->get_font().is_valid()) ? settings->get_font() : theme_cache.font;
		int font_size = settings.is_valid() ? settings->get_font_size() : theme_cache.font_size;
		ERR_FAIL_COND(font.is_null());
		String txt = (uppercase) ? TS->string_to_upper(xl_text, language) : xl_text;
		if (visible_chars >= 0 && visible_chars_behavior == TextServer::VC_CHARS_BEFORE_SHAPING) {
			txt = txt.substr(0, visible_chars);
		}
		if (dirty) {
			TS->shaped_text_add_string(text_rid, txt, font->get_rids(), font_size, font->get_opentype_features(), language);
		} else {
			int spans = TS->shaped_get_span_count(text_rid);
			for (int i = 0; i < spans; i++) {
				TS->shaped_set_span_update_font(text_rid, i, font->get_rids(), font_size, font->get_opentype_features());
			}