### Godot version

4.0.dev(dc3175e4cdb4e54e1c6200b6c4d07646eea95284)

### System information

Any

### Issue description

EditorPlugins that depend on the resources that Node has will not be visible when SubInspector is focused.

https://user-images.githubusercontent.com/61938263/210553656-86669f57-e41f-427e-a650-30630c27d850.mp4

This is caused by two problems:

The first is caused by implicit editor deletion in Node3D. This is fixed by #70907.

The other is due to a change in inspector update timing, which is regression by #68498. Revert PR #70909 will fix this issue, but if not, we will need to update SubInspectorEditor in the correct way.

### Steps to reproduce

Select Path3D or CollisionPolygon3D and open a SubInspector such as Script.

### Minimal reproduction project

[plugintest.zip](https://github.com/godotengine/godot/files/10343962/plugintest.zip)

case NOTIFICATION_EXIT_TREE: {
			if (!sub_inspector) {
				get_tree()->disconnect("node_removed", callable_mp(this, &EditorInspector::_node_removed));
			}
			edit(nullptr);
		} break;
		case NOTIFICATION_VISIBILITY_CHANGED: {
			set_process(is_visible_in_tree());
		} break;
		case NOTIFICATION_PROCESS: {
			if (update_scroll_request >= 0) {
				get_v_scroll_bar()->call_deferred(SNAME("set_value"), update_scroll_request);
				update_scroll_request = -1;
			}
			if (update_tree_pending) {
				refresh_countdown = float(EDITOR_GET("docks/property_editor/auto_refresh_interval"));
			} else if (refresh_countdown > 0) {
				refresh_countdown -= get_process_delta_time();
				if (refresh_countdown <= 0) {
					for (const KeyValue<StringName, List<EditorProperty *>> &F : editor_property_map) {
						for (EditorProperty *E : F.value) {
							if (E && !E->is_cache_valid()) {
								E->update_property();
								E->update_editor_property_status();
								E->update_cache();
							}
						}
					}
					refresh_countdown = float(EDITOR_GET("docks/property_editor/auto_refresh_interval"));
				}