### Godot version

4.2 dev4

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

When you write a text in LineEdit (e.g. in the inspector) and the text is long enough to be scrolled, and then you delete all text with Ctrl + A -> Backspace, writing again will not show the first character.

https://github.com/godotengine/godot/assets/2223172/6432d029-6e56-404d-b159-1bd532513dc6



### Steps to reproduce

- add some node with a single-line text property
- edit the property, write something that doesn't fit the LineEdit width
- Ctrl + A -> Backspace
- write something again

### Minimal reproduction project

N/A
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) {