### Godot version

4.0.beta10

### System information

Windows 10, 64bit

### Issue description

The title says it all.
Opened in compression mode, whether read or write and whether the file already exists or not, `get_path` contains an empty string. This is also the case in C#.
However, if the file is opened without compression, get_path contains the absolute file path to the file as expected.
It doesn't matter whether an internal res:// path or an external system path is used.

### Steps to reproduce

```
var file = FileAccess.open_compressed("res://file.txt", FileAccess.WRITE")
prints("get_path():", file.get_path())
```
output: `get_path():`

```
var file = FileAccess.open("res://file.txt", FileAccess.WRITE)
prints("get_path():", file.get_path())
```
output: `get_path(): res://file.txt`

 
_or under C#:_
```
using var file = FileAccess.OpenCompressed("res://test.txt", FileAccess.ModeFlags.Write);
GD.PrintS("GetPath():", file.GetPath());
```
output: `GetPath():`

### Minimal reproduction project

N/A
rb.offset = acc_ofs;
		rb.csize = f->get_32();
		acc_ofs += rb.csize;
		max_bs = MAX(max_bs, rb.csize);
		read_blocks.push_back(rb);
	}
	comp_buffer.resize(max_bs);
	buffer.resize(block_size);
	read_ptr = buffer.ptrw();
	f->get_buffer(comp_buffer.ptrw(), read_blocks[0].csize);
	at_end = false;
	read_eof = false;
	read_block_count = bc;
	read_block_size = read_blocks.size() == 1 ? read_total : block_size;
	int ret = Compression::decompress(buffer.ptrw(), read_block_size, comp_buffer.ptr(), read_blocks[0].csize, cmode);
	read_block = 0;
	read_pos = 0;
	return ret == -1 ? ERR_FILE_CORRUPT : OK;
}
Error FileAccessCompressed::open_internal(const String &p_path, int p_mode_flags) {
	ERR_FAIL_COND_V(p_mode_flags == READ_WRITE, ERR_UNAVAILABLE);
	_close();
	Error err;
	f = FileAccess::open(p_path, p_mode_flags, &err);
	if (err != OK) {
		
		f.unref();
		return err;
	}
	if (p_mode_flags & WRITE) {