### Godot version

4.0.2.stable

### System information

Manjaro Linux 5.15.113-1-MANJARO

### Issue description

When I was trying to figure out #77725 i stumbled upon this:
![image](https://github.com/godotengine/godot/assets/14893831/364b89ce-00b2-4aef-a85e-f10c16936005)

pressing enter results in 
![image](https://github.com/godotengine/godot/assets/14893831/07d53b82-c919-4635-80e2-e1809b6bb11f)


It looks simmilar to #48436 , but it started happening to every code completion and I have absolutely no clue how it happened.

It happened after I moved(using shift+arrow keys to select, tab to indent and alt+arrow keys to move down)  the three dicts in the picture to within the function and added the dict 4.

### Steps to reproduce

Here's roughly what I did 
(might be slightly inaccurate, I was basically messing around to try and see the scope of $77725 when it happened)

1) create an empty script
2) declare a couple of dictionaries
3) declare a function
4) try out code completion within the function
5) create a lambda within the function and try 4) again
6) move the dictionaries' declaration within the function using keyboard shortcuts and try 4)




### Minimal reproduction project

N/A
if (code_hint_draw_below) {
							max_y += code_hint_minsize.y;
						} else {
							min_y -= code_hint_minsize.y;
						}
					}
					const bool can_fit_completion_above = (min_y > total_height);
					const bool can_fit_completion_below = (max_y <= get_size().height);
					if (!can_fit_completion_below && can_fit_completion_above) {
						code_completion_rect.position.y = (caret_pos.y - total_height - row_height) + theme_cache.line_spacing;
						if (draw_code_hint && !code_hint_draw_below) {
							code_completion_rect.position.y -= code_hint_minsize.y;
						}
					} else {
						code_completion_rect.position.y = caret_pos.y + (theme_cache.line_spacing / 2.0f);
						if (draw_code_hint && code_hint_draw_below) {
							code_completion_rect.position.y += code_hint_minsize.y;
						}
					}
					const int scroll_width = code_completion_options_count > theme_cache.code_completion_max_lines ? theme_cache.code_completion_scroll_width : 0;
					const int code_completion_base_width = theme_cache.font->get_string_size(code_completion_base, HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size).width;
					if (caret_pos.x - code_completion_base_width + code_completion_rect.size.width + scroll_width > get_size().width) {
						code_completion_rect.position.x = get_size().width - code_completion_rect.size.width - scroll_width;
					} else {
						code_completion_rect.position.x = caret_pos.x - code_completion_base_width;
					}
					draw_style_box(theme_cache.code_completion_style, Rect2(code_completion_rect.position - theme_cache.code_completion_style->get_offset(), code_completion_rect.size + theme_cache.code_completion_style->get_minimum_size() + Size2(scroll_width, 0)));
					if (theme_cache.code_completion_background_color.a > 0.01) {
						RenderingServer::get_singleton()->canvas_item_add_rect(ci, Rect2(code_completion_rect.position, code_completion_rect.size + Size2(scroll_width, 0)), theme_cache.code_completion_background_color);
					}