### Godot version

4.0.2.stable.mono

### System information

Windows 10 - 4.0.2.stable.mono - Any Renderer

### Issue description

In a script with an `@export` variable (with a non-default value), Godot will replace the first variable in the category with the same name. For example, if you're exporting a variable called "Vector", and the value is set to a non-default value, the first variable in the category called "Vector" will also be changed to the same value.

### Steps to reproduce

Attach said script to a node:
```
extends Node

@export var Vector: Vector2
@export_category("Vector")
@export var Var2: float = 1

func _process(delta):
	print(Var2)
```
When changing the value of the `Vector` export variable, the variable Var2 will contain the same value. This does not happen when the `@export_category` has a different name.

### Minimal reproduction project

N/A
if (expr.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
						codegen.generator->pop_temporary();
					}
				} else {
					ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Bug in bytecode compiler, unexpected node in parse tree while parsing statement."); 
				}
			} break;
		}
		gen->clean_temporaries();
	}
	if (p_add_locals && p_reset_locals) {
		_clear_addresses(codegen, block_locals);
	}
	codegen.end_block();
	return OK;
}
GDScriptFunction *GDScriptCompiler::_parse_function(Error &r_error, GDScript *p_script, const GDScriptParser::ClassNode *p_class, const GDScriptParser::FunctionNode *p_func, bool p_for_ready, bool p_for_lambda) {
	r_error = OK;
	CodeGen codegen;
	codegen.generator = memnew(GDScriptByteCodeGenerator);
	codegen.class_node = p_class;
	codegen.script = p_script;
	codegen.function_node = p_func;
	StringName func_name;
	bool is_static = false;
	Variant rpc_config;
	GDScriptDataType return_type;
	return_type.has_type = true;
	return_type.kind = GDScriptDataType::BUILTIN;
	return_type.builtin_type = Variant::NIL;