### 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
Vector<ReadBlock> read_blocks;
	uint64_t read_total = 0;
	String magic = "GCMP";
	mutable Vector<uint8_t> buffer;
	Ref<FileAccess> f;
	void _close();
public:
	void configure(const String &p_magic, Compression::Mode p_mode = Compression::MODE_ZSTD, uint32_t p_block_size = 4096);
	Error open_after_magic(Ref<FileAccess> p_base);
	virtual Error open_internal(const String &p_path, int p_mode_flags) override; 
	virtual bool is_open() const override; 
	virtual void seek(uint64_t p_position) override; 
	virtual void seek_end(int64_t p_position = 0) override; 
	virtual uint64_t get_position() const override; 
	virtual uint64_t get_length() const override; 
	virtual bool eof_reached() const override; 
	virtual uint8_t get_8() const override; 
	virtual uint64_t get_buffer(uint8_t *p_dst, uint64_t p_length) const override;
	virtual Error get_error() const override; 
	virtual void flush() override;
	virtual void store_8(uint8_t p_dest) override; 
	virtual bool file_exists(const String &p_name) override; 
	virtual uint64_t _get_modified_time(const String &p_file) override;
	virtual uint32_t _get_unix_permissions(const String &p_file) override;
	virtual Error _set_unix_permissions(const String &p_file, uint32_t p_permissions) override;
	FileAccessCompressed() {}
	virtual ~FileAccessCompressed();
};
#endif