### Godot version

v4.1.beta.custom_build [72b59325c]

### System information

Windows 10, Vulkan

### Issue description

This has been plaguing me for a while in my main project. I can only partially reproduce it in a MRP:
When placing a binary mesh resource imported from a .glb file into a MeshInstance3D, it will be gone upon restart. It doesn't seem to happen to every resource, but I've had MIs that were fine and then start doing it out of nowhere.
I thought it was going to be related to materials due to things like https://github.com/godotengine/godot/issues/77007 but I can reliably trigger it with the steps listed below.
I have done limited testing on .tres files because I usually use .res for size/performance, but in the MRP .tres doesn't seem to trigger it, so perhaps it doesn't affect those.

Note on the Steps to reproduce: you have to delete the test_cube.res and redo the steps to trigger the bug again, but in my main project the affected resources always disappear.

### Steps to reproduce

1. Double click test_cube.glb
2. Click the mesh (test_cube_Cube_097), set save to file path as: res://test_cube.res
3. Make sure to click the little folder icon and then Save (this seems to make it consistent to proc)
4. Press Reimport
5. Drag the test_cube.res to the Mesh slot of the MeshInstance3D
6. Ctrl+s to save
7. Project -> Reload current project
8. Mesh is no longer in the MeshInstance3D

### Minimal reproduction project

[binary res bug.zip](https://github.com/godotengine/godot/files/11681009/binary.res.bug.zip)
if (!p_dir) {
		return; 
	}
	p_file->store_line("::" + p_dir->get_path() + "::" + String::num(p_dir->modified_time));
	for (int i = 0; i < p_dir->files.size(); i++) {
		if (!p_dir->files[i]->import_group_file.is_empty()) {
			group_file_cache.insert(p_dir->files[i]->import_group_file);
		}
		String type = p_dir->files[i]->type;
		if (p_dir->files[i]->resource_script_class) {
			type += "/" + String(p_dir->files[i]->resource_script_class);
		}
		String s = p_dir->files[i]->file + "::" + type + "::" + itos(p_dir->files[i]->uid) + "::" + itos(p_dir->files[i]->modified_time) + "::" + itos(p_dir->files[i]->import_modified_time) + "::" + itos(p_dir->files[i]->import_valid) + "::" + p_dir->files[i]->import_group_file + "::" + p_dir->files[i]->script_class_name + "<>" + p_dir->files[i]->script_class_extends + "<>" + p_dir->files[i]->script_class_icon_path;
		s += "::";
		for (int j = 0; j < p_dir->files[i]->deps.size(); j++) {
			if (j > 0) {
				s += "<>";
			}
			s += p_dir->files[i]->deps[j];
		}
		p_file->store_line(s);
	}
	for (int i = 0; i < p_dir->subdirs.size(); i++) {
		_save_filesystem_cache(p_dir->subdirs[i], p_file);
	}
}
bool EditorFileSystem::_find_file(const String &p_file, EditorFileSystemDirectory **r_d, int &r_file_pos) const {
	
	if (!filesystem || scanning) {