### 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
Variant args[sizeof...(p_args) + 1] = { p_args..., Variant() }; 
		const Variant *argptrs[sizeof...(p_args) + 1];
		for (uint32_t i = 0; i < sizeof...(p_args); i++) {
			argptrs[i] = &args[i];
		}
		Callable::CallError cerr;
		return callp(p_method, sizeof...(p_args) == 0 ? nullptr : (const Variant **)argptrs, sizeof...(p_args), cerr);
	}
	virtual Variant call_const(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error); 
	virtual void notification(int p_notification) = 0;
	virtual String to_string(bool *r_valid) {
		if (r_valid) {
			*r_valid = false;
		}
		return String();
	}
	
	
	
	virtual void refcount_incremented() {}
	virtual bool refcount_decremented() { return true; } 
	virtual Ref<Script> get_script() const = 0;
	virtual bool is_placeholder() const { return false; }
	virtual void property_set_fallback(const StringName &p_name, const Variant &p_value, bool *r_valid);
	virtual Variant property_get_fallback(const StringName &p_name, bool *r_valid);
	virtual const Variant get_rpc_config() const { return get_script()->get_rpc_config(); }
	virtual ScriptLanguage *get_language() = 0;
	virtual ~ScriptInstance();
};
class ScriptCodeCompletionCache {