### 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 (!p_arg_type.has_type) {
		return false;
	}
	if (p_par_type.type == Variant::NIL) {
		return false;
	}
	if (p_par_type.type == Variant::OBJECT) {
		if (p_arg_type.kind == GDScriptDataType::BUILTIN) {
			return false;
		}
		StringName class_name;
		if (p_arg_type.kind == GDScriptDataType::NATIVE) {
			class_name = p_arg_type.native_type;
		} else {
			class_name = p_arg_type.native_type == StringName() ? p_arg_type.script_type->get_instance_base_type() : p_arg_type.native_type;
		}
		return p_par_type.class_name == class_name || ClassDB::is_parent_class(class_name, p_par_type.class_name);
	} else {
		if (p_arg_type.kind != GDScriptDataType::BUILTIN) {
			return false;
		}
		return p_par_type.type == p_arg_type.builtin_type;
	}
}
static bool _can_use_ptrcall(const MethodBind *p_method, const Vector<GDScriptCodeGenerator::Address> &p_arguments) {