### 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)

undo_redo->add_undo_method(object, swap_method, i, i - 1);
					}
				}
			}
		} else {
			
			List<PropertyInfo> object_property_list;
			object->get_property_list(&object_property_list);
			Array properties_as_array = _extract_properties_as_array(object_property_list);
			properties_as_array.resize(count);
			
			undo_redo->add_undo_property(object, count_property, properties_as_array.size());
			for (int i = 0; i < (int)properties_as_array.size(); i++) {
				Dictionary d = Dictionary(properties_as_array[i]);
				Array keys = d.keys();
				for (int j = 0; j < keys.size(); j++) {
					String key = keys[j];
					undo_redo->add_undo_property(object, vformat(key, i), d[key]);
				}
			}
			if (p_element_index < 0) {
				
				properties_as_array.insert(p_to_pos < 0 ? properties_as_array.size() : p_to_pos, Dictionary());
			} else if (p_to_pos < 0) {
				
				properties_as_array.remove_at(p_element_index);
			} else {
				
				properties_as_array.insert(p_to_pos, properties_as_array[p_element_index].duplicate());
				properties_as_array.remove_at(p_to_pos < p_element_index ? p_element_index + 1 : p_element_index);