And once again looking at the PS3's resulting file I/O code, I figured out what was going wrong. It checked if the file open operation succeeds or not, then if if fails, aborts. But since it didn't fail, it started the same block of resulting 'failed to open' code meant for other platforms.
Now fixed it by merging the fail path with the other platforms correctly, causing the file I/O to work properly now.
The only issue I notice right now is that the multithreading still seems to fail somehow? It tries to start the first required thread (for handling the settings menu when the emulator starts), but instead of properly starting it it fails to launch the thread (at least within the emulator) and continues running the main emulation loop without any loading and setup required being done.
Terminating the emulator that's now running inside my RPCS3 development setup seems to properly terminate the application: i see it saving the settings and other data it has and terminating the application (just like it did before, but having full file I/O capability now).
Edit: With SDL_net support:
https://www.dropbox.com/scl/fi/i6wm789rmvi6he59v7nbx/UniPCemu_net.pkg?rlkey=uyf9...
And without SDL_net support:
https://www.dropbox.com/scl/fi/hkqfujw57x3l7we7adz3g/UniPCemu.pkg?rlkey=1pwp2y2s...