### Godot version

4.0.2.stable.official [7a0977ce2]

### System information

Windows 10

### Issue description

LineEdit node with enabled "expand_to_text_length" option and "minimum_character_width = 0" and cleared margins in style overrides still has some empty space inside
![node](https://github.com/godotengine/godot/assets/23380802/86c79678-8422-4a98-8406-602edd7dc48b)
![node settings](https://github.com/godotengine/godot/assets/23380802/11d04d71-bbf1-4c16-8155-fe39b5bbd66b)
![style overrides](https://github.com/godotengine/godot/assets/23380802/6b3c3925-b4bd-455b-aac1-ddeb54a4d796)


### Steps to reproduce

1. Add LineEdit node
2. Set expand_to_text_length = true
3. Set minimum_character_width in theme overrides = 0
4. Set normal to StyleBoxEmpty


### Minimal reproduction project

[LineEdit can't be zero sized.zip](https://github.com/godotengine/godot/files/11566017/LineEdit.can.t.be.zero.sized.zip)

CaretInfo caret = TS->shaped_text_get_carets(text_rid, ime_text.is_empty() ? caret_column : caret_column + ime_selection.x);
					if (using_placeholder || (caret.l_caret == Rect2() && caret.t_caret == Rect2())) {
						
						int h = theme_cache.font->get_height(theme_cache.font_size);
						int y = style->get_offset().y + (y_area - h) / 2;
						caret.l_dir = (rtl) ? TextServer::DIRECTION_RTL : TextServer::DIRECTION_LTR;
						switch (alignment) {
							case HORIZONTAL_ALIGNMENT_FILL:
							case HORIZONTAL_ALIGNMENT_LEFT: {
								if (rtl) {
									caret.l_caret = Rect2(Vector2(ofs_max, y), Size2(caret_width, h));
								} else {
									caret.l_caret = Rect2(Vector2(style->get_offset().x, y), Size2(caret_width, h));
								}
							} break;
							case HORIZONTAL_ALIGNMENT_CENTER: {
								caret.l_caret = Rect2(Vector2(size.x / 2, y), Size2(caret_width, h));
							} break;
							case HORIZONTAL_ALIGNMENT_RIGHT: {
								if (rtl) {
									caret.l_caret = Rect2(Vector2(style->get_offset().x, y), Size2(caret_width, h));
								} else {
									caret.l_caret = Rect2(Vector2(ofs_max, y), Size2(caret_width, h));
								}
							} break;
						}
						RenderingServer::get_singleton()->canvas_item_add_rect(ci, caret.l_caret, caret_color);
					} else {
						if (caret.l_caret != Rect2() && caret.l_dir == TextServer::DIRECTION_AUTO) {