### Godot version

v4.0.alpha11.official [afdae67cc] (when the feature was added) and newer (still happens in RC6)

### System information

Windows 10

### Issue description

I'm unable to handle when the user sets an exported node property (this feature: https://github.com/godotengine/godot/pull/62185) from a setter in the editor (tool script).

I don't know if this is intentional or not, but for me it was unexpected. I had to revert back to `NodePath`s.

### Steps to reproduce

- Create a scene
- Attach a script to a node
- Add `@tool` at the top of the script
- Export a node property with a setter, preferably with an easy way to see if it executed:
	```
	@export var node:Node:
		set (mod_value):
			prints("node", mod_value)
			node = mod_value
	```
- Save, close and open again the scene to make sure the tool script is running in the editor
- Set the node property from the inspector
- Observe that the setter didn't run

The setter is not bypassed when running the game, it is only bypassed in the editor.

We can compare with a `NodePath` property, which setter is not bypassed regardless if it is in the editor or in game runtime.

### Minimal reproduction project

[nodepath.zip](https://github.com/godotengine/godot/files/10840411/nodepath.zip)

if (!container) {
			container = memnew(MarginContainer);
			container->set_theme_type_variation("MarginContainer4px");
			add_child(container);
			set_bottom_editor(container);
			VBoxContainer *vbox = memnew(VBoxContainer);
			container->add_child(vbox);
			property_vbox = memnew(VBoxContainer);
			property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
			vbox->add_child(property_vbox);
			paginator = memnew(EditorPaginator);
			paginator->connect("page_changed", callable_mp(this, &EditorPropertyDictionary::_page_changed));
			vbox->add_child(paginator);
		} else {
			
			for (int i = property_vbox->get_child_count() - 1; i >= 0; i--) {
				property_vbox->get_child(i)->queue_free();
			}
		}
		int size = dict.size();
		int max_page = MAX(0, size - 1) / page_length;
		page_index = MIN(page_index, max_page);
		paginator->update(page_index, max_page);
		paginator->set_visible(max_page > 0);
		int offset = page_index * page_length;
		int amount = MIN(size - offset, page_length);
		int total_amount = page_index == max_page ? amount + 2 : amount; 
		VBoxContainer *add_vbox = nullptr;
		double default_float_step = EDITOR_GET("interface/inspector/default_float_step");
		for (int i = 0; i < total_amount; i++) {