### 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
if (!selection.enabled && p_shift) {
		selection.start_column = caret_column;
	}
	if (!p_shift) {
		deselect();
	}
}
void LineEdit::shift_selection_check_post(bool p_shift) {
	if (p_shift) {
		selection_fill_at_caret();
	}
}
void LineEdit::set_caret_at_pixel_pos(int p_x) {
	Ref<StyleBox> style = theme_cache.normal;
	bool rtl = is_layout_rtl();
	int x_ofs = 0;
	float text_width = TS->shaped_text_get_size(text_rid).x;
	switch (alignment) {
		case HORIZONTAL_ALIGNMENT_FILL:
		case HORIZONTAL_ALIGNMENT_LEFT: {
			if (rtl) {
				x_ofs = MAX(style->get_margin(SIDE_LEFT), int(get_size().width - style->get_margin(SIDE_RIGHT) - (text_width)));
			} else {
				x_ofs = style->get_offset().x;
			}
		} break;
		case HORIZONTAL_ALIGNMENT_CENTER: {
			if (!Math::is_zero_approx(scroll_offset)) {
				x_ofs = style->get_offset().x;
			} else {