### Godot version

v4.1.rc2.official [46424488e]

### System information

win10 21H2,Vulkan API 1.2.0

### Issue description

```
E 0:00:00:0469   Node2D.gd:7 @ _ready(): Condition "f.is_null()" is true. Returning: nullptr
  <C++ 源文件>      core/io/file_access_zip.cpp:51 @ godot_open()
  <栈追踪>          Node2D.gd:7 @ _ready()

E 0:00:00:0471   Node2D.gd:7 @ _ready(): Condition "!zfile" is true. Returning: false
  <C++ 源文件>      core/io/file_access_zip.cpp:171 @ try_open_pack()
  <栈追踪>          Node2D.gd:7 @ _ready()

```

### Steps to reproduce

run mini project

### Minimal reproduction project

[test_path.zip](https://github.com/godotengine/godot/files/11928867/test_path.zip)

return memnew(FileAccessZip(p_path, *p_file));
}
ZipArchive *ZipArchive::get_singleton() {
	if (instance == nullptr) {
		instance = memnew(ZipArchive);
	}
	return instance;
}
ZipArchive::ZipArchive() {
	instance = this;
}
ZipArchive::~ZipArchive() {
	for (int i = 0; i < packages.size(); i++) {
		unzClose(packages[i].zfile);
	}
	packages.clear();
}
Error FileAccessZip::open_internal(const String &p_path, int p_mode_flags) {
	_close();
	ERR_FAIL_COND_V(p_mode_flags & FileAccess::WRITE, FAILED);
	ZipArchive *arch = ZipArchive::get_singleton();
	ERR_FAIL_COND_V(!arch, FAILED);
	zfile = arch->get_file_handle(p_path);
	ERR_FAIL_COND_V(!zfile, FAILED);
	int err = unzGetCurrentFileInfo64(zfile, &file_info, nullptr, 0, nullptr, 0, nullptr, 0);
	ERR_FAIL_COND_V(err != UNZ_OK, FAILED);
	return OK;
}
void FileAccessZip::_close() {