### Godot version

Godot 4.1 Release Candidate 1

### System information

Godot v4.1.rc1.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 (NVIDIA; 31.0.15.1694) - AMD Ryzen 7 3800X 8-Core Processor (16 Threads)

### Issue description

Godot 4.1 RC1 does not update the [Export]ed members or the name of a type/class in inspector when
- ... creating a new class.cs file that inherits from node/resource
- ... renaming a class from A.cs to B.cs
- ... removing and adding the class to a Node/Resource
- ... adding enum values to an existing enum (doesnt matter if its [Flags])
- ... adding/removing [Export] on any member variable
- ... (and probably more use cases)
![image](https://github.com/godotengine/godot/assets/45302427/d11a515e-47b6-40a8-af81-670407bfda1a)

It only works when Project > "Reload Current Project"
![image](https://github.com/godotengine/godot/assets/45302427/8de25a6f-d851-4d58-881b-673060d89741)


### Steps to reproduce

Create a new .cs file that inherits from a Node or Resource 
Assign it a Node/Resource
Add any sort of variables to the .cs file
Add the [Export] attribute to these variables/members
Build the Code using Alt+B
Watch what happens in the inspector: Nothing!
If nothing happens: Project > Reload Current Project

Test Project attached below

### Minimal reproduction project

[inspector-update-fails.zip](https://github.com/godotengine/godot/files/11886640/inspector-update-fails.zip)

mi.arguments.push_back(arg_info);
		}
		p_script->methods.set(push_index++, CSharpMethodInfo{ name, mi });
	}
	
	
	p_script->event_signals.clear();
	
	p_script->event_signals.resize(signals_dict.size());
	push_index = 0;
	for (const Variant *s = signals_dict.next(nullptr); s != nullptr; s = signals_dict.next(s)) {
		StringName name = *s;
		MethodInfo mi;
		mi.name = name;
		Array params = signals_dict[*s];
		for (int i = 0; i < params.size(); i++) {
			Dictionary param = params[i];
			Variant::Type param_type = (Variant::Type)(int)param["type"];
			PropertyInfo arg_info = PropertyInfo(param_type, (String)param["name"]);
			arg_info.usage = (uint32_t)param["usage"];
			if (param.has("class_name")) {
				arg_info.class_name = (StringName)param["class_name"];
			}
			mi.arguments.push_back(arg_info);
		}
		p_script->event_signals.set(push_index++, EventSignalInfo{ name, mi });
	}
	p_script->base_script = base_script;
}
bool CSharpScript::can_instantiate() const {