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

ZipData *zd = (ZipData *)stream;
	zd->f->get_buffer((uint8_t *)buf, size);
	return size;
}
static uLong godot_write(voidpf opaque, voidpf stream, const void *buf, uLong size) {
	return 0;
}
static long godot_tell(voidpf opaque, voidpf stream) {
	ZipData *zd = (ZipData *)stream;
	return zd->f->get_position();
}
static long godot_seek(voidpf opaque, voidpf stream, uLong offset, int origin) {
	ZipData *zd = (ZipData *)stream;
	uint64_t pos = offset;
	switch (origin) {
		case ZLIB_FILEFUNC_SEEK_CUR:
			pos = zd->f->get_position() + offset;
			break;
		case ZLIB_FILEFUNC_SEEK_END:
			pos = zd->f->get_length() + offset;
			break;
		default:
			break;
	}
	zd->f->seek(pos);
	return 0;
}
static int godot_close(voidpf opaque, voidpf stream) {