As the article states, currently all processes are able to read the file which contains the key. Instead, you could store the key in the macOS Keychain (and Linux/Windows equivalents), which AFAIK is a list of all sorts of sensitive data (think WiFi passwords etc.), encrypted with your user password. I believe the Keychain also only let's certain processes see certain entries, so the Signal Desktop App could see only its own encryption key, whereas for example iMessage would only see the iMessage encryption key.
There is no single keychain on Linux, and supposedly on Windows too. Signal would need to either support a few dozens of password managers or require a specific one, both options terrible in their own way. This isn't something that can be done without making broad assumptions about the user's system.
Either multiple different keychains or even you can have no keychain-like application in your system at all.
The WiFi passwords are usually stored in /etc/NetworkManager as plain files. Granted, they are not accessible directly by non-root users as they are being managed by the NetworkManager daemon, but there is nothing generic for such a thing. Signal rolling a similar daemon for itself would be an overkill. The big desktop environments (GNOME, KDE...) usually have their own keychain-like programs that the programs provided by these environments use, but that only solves this problem for the users of these specific environments.
To me it's perfectly expected the Signal encryption keys are readable by my user account.
Nope, I'm out. I'm not giving my unchangeable biological data to the Computer Gods because A) Fuck that and B) the police in my country can compel the use of biometrics to unlock things but cannot compel you to give up your pass as it is protected by the first amendment. Yes I think the bios should be protected too but that isn't the reality in which I live.