There are probably multiple ways, one option I dont think I have ever seen mentioned in public forums personally (Not that I keep up to date much with android these days) is:Do you have an alternative to memory based il2cpp dumps?
Its possible to dump global-metadata.dat from hooking a specific libil2cpp.so function, libil2cpp.so has a function that loads the global-metadata.dat file, Note I dont actively mod these days so some example info could be outdated, for example gameguard games also encrypt global-metadata.dat (used to at least), but it is possible (used to be at least) to hook the function that loads global-metadata.dat.
The function that loads the metadata.dat file returns the plain decrypted version of the file, so once you knew the offset to this function you could easily hook this function with frida and in "OnLeave" read the contents of "retval" and save the data, which conveniently was the decrypted global-metadata.dat.
I did have a quick look at this soul knight game, and that function is easy to find, the issue with this game is that there are strings mentioning
ELF_HOOK("FunctionName")
where "FunctionName" had common global-metadata.dat loader functions listed, meaning for this game they are definitely aware of this.