### Godot version

c0d8d91

### System information

Windows 11

### Issue description

There's weird bug going on with the latest master branch. The auto completion in script editor is sorted in a wacky ways, putting sort of constants ahead of anything because it's ahead alphabetically
![image](https://github.com/godotengine/godot/assets/13846022/0f3e389e-f5d1-46b2-9f78-c215f3ad5abd)

Now compare it to my build about two weeks ago
![image](https://github.com/godotengine/godot/assets/13846022/37013cad-2e8f-4aa3-9270-0e8dfd9502ea)

Both are using the same content of 'editor_data' settings folder. And loading up the same project.

### Steps to reproduce

- Open a new blank project
- Make a new script
- Triggers any auto completion in Script Editor

### Minimal reproduction project

N/A
int offset = theme_cache.font->get_string_size(code_hint_lines[0].substr(0, code_hint_lines[0].find(String::chr(0xFFFF))), HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size).x;
				if (code_hint_xpos == -0xFFFF) {
					code_hint_xpos = get_caret_draw_pos().x - offset;
				}
				Point2 hint_ofs = Vector2(code_hint_xpos, get_caret_draw_pos().y);
				if (code_hint_draw_below) {
					hint_ofs.y += theme_cache.line_spacing / 2.0f;
				} else {
					hint_ofs.y -= (minsize.y + row_height) - theme_cache.line_spacing;
				}
				draw_style_box(theme_cache.code_hint_style, Rect2(hint_ofs, minsize));
				int yofs = 0;
				for (int i = 0; i < line_count; i++) {
					const String &line = code_hint_lines[i];
					int begin = 0;
					int end = 0;
					if (line.contains(String::chr(0xFFFF))) {
						begin = theme_cache.font->get_string_size(line.substr(0, line.find(String::chr(0xFFFF))), HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size).x;
						end = theme_cache.font->get_string_size(line.substr(0, line.rfind(String::chr(0xFFFF))), HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size).x;
					}
					Point2 round_ofs = hint_ofs + theme_cache.code_hint_style->get_offset() + Vector2(0, theme_cache.font->get_ascent(theme_cache.font_size) + font_height * i + yofs);
					round_ofs = round_ofs.round();
					draw_string(theme_cache.font, round_ofs, line.replace(String::chr(0xFFFF), ""), HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size, theme_cache.code_hint_color);
					if (end > 0) {
						
						const Vector2 b = hint_ofs + theme_cache.code_hint_style->get_offset() + Vector2(begin, font_height + font_height * i + yofs);
						draw_line(b, b + Vector2(end - begin, 0), theme_cache.code_hint_color, 2);
						
						const Rect2 highlight_rect = Rect2(
								b - Vector2(0, font_height),