### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Window 11, Forward+, GTX 1060

### Issue description

Adding two theme variations in a row result to a  crash.

https://user-images.githubusercontent.com/93253123/217037249-1ce1d56d-beb6-4435-83ad-9f8a07fe0e96.mp4



### Steps to reproduce

1. Create a project.
2. Create a theme.
3. Double click to go in the theme editor.
4. Click on manage items buttons.
5. In the add type field type a name to add a type.
6. type another name to add a second type.
7. Crash.

### Minimal reproduction project

[ThemeVariationCrash.zip](https://github.com/godotengine/godot/files/10665863/ThemeVariationCrash.zip)

if (!movable || read_only) {
		return false;
	}
	
	control_dropping->queue_redraw();
	if (p_data.get_type() != Variant::DICTIONARY) {
		return false;
	}
	Dictionary dict = p_data;
	int drop_position = _drop_position();
	if (!dict.has("type") || dict["type"] != "property_array_element" || String(dict["property_array_prefix"]) != array_element_prefix || drop_position < 0) {
		return false;
	}
	
	int moved_array_index = (int)dict["index"];
	int drop_array_index = begin_array_index + drop_position;
	return drop_array_index != moved_array_index && drop_array_index - 1 != moved_array_index;
}
void EditorInspectorArray::_notification(int p_what) {
	switch (p_what) {
		case NOTIFICATION_ENTER_TREE:
		case NOTIFICATION_THEME_CHANGED: {
			Color color = get_theme_color(SNAME("dark_color_1"), SNAME("Editor"));
			odd_style->set_bg_color(color.darkened(-0.08));
			even_style->set_bg_color(color.darkened(0.08));
			for (ArrayElement &ae : array_elements) {
				if (ae.move_texture_rect) {