### 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.
if (dirty || font_dirty || lines_dirty) {
		const_cast<Label *>(this)->_shape();
	}
	Size2 min_size = minsize;
	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;
	min_size.height = MAX(min_size.height, font->get_height(font_size) + font->get_spacing(TextServer::SPACING_TOP) + font->get_spacing(TextServer::SPACING_BOTTOM));
	Size2 min_style = theme_cache.normal_style->get_minimum_size();
	if (autowrap_mode != TextServer::AUTOWRAP_OFF) {
		return Size2(1, (clip || overrun_behavior != TextServer::OVERRUN_NO_TRIMMING) ? 1 : min_size.height) + min_style;
	} else {
		if (clip || overrun_behavior != TextServer::OVERRUN_NO_TRIMMING) {
			min_size.width = 1;
		}
		return min_size + min_style;
	}
}
int Label::get_line_count() const {