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

ERR_FAIL_COND_MSG(!p_file, "Cannot close a file if none is open.");
	unzCloseCurrentFile(p_file);
	unzClose(p_file);
}
unzFile ZipArchive::get_file_handle(String p_file) const {
	ERR_FAIL_COND_V_MSG(!file_exists(p_file), nullptr, "File '" + p_file + " doesn't exist.");
	File file = files[p_file];
	zlib_filefunc_def io;
	memset(&io, 0, sizeof(io));
	io.opaque = nullptr;
	io.zopen_file = godot_open;
	io.zread_file = godot_read;
	io.zwrite_file = godot_write;
	io.ztell_file = godot_tell;
	io.zseek_file = godot_seek;
	io.zclose_file = godot_close;
	io.zerror_file = godot_testerror;
	io.alloc_mem = godot_alloc;
	io.free_mem = godot_free;
	unzFile pkg = unzOpen2(packages[file.package].filename.utf8().get_data(), &io);
	ERR_FAIL_COND_V_MSG(!pkg, nullptr, "Cannot open file '" + packages[file.package].filename + "'.");
	int unz_err = unzGoToFilePos(pkg, &file.file_pos);
	if (unz_err != UNZ_OK || unzOpenCurrentFile(pkg) != UNZ_OK) {
		unzClose(pkg);
		ERR_FAIL_V(nullptr);
	}
	return pkg;
}
bool ZipArchive::try_open_pack(const String &p_path, bool p_replace_files, uint64_t p_offset = 0) {