I take back my last post. At least somewhat.
The issue seems no longer present in my case, after I read up more & made a tiny change to projectzomboid.sh.
To preface what I done, I saw plenty online of people exporting XMODIFIERS in the environment before launching applications or games, then setting it back to the prior value when the thing was finished or terminated. Instead of just setting it like "XMODIFIERS=...".
So at execution of the game, I've got this
prev_XMOD=$XMODIFIERS
...
echo "64-bit java detected"
...
# XMODIFIERS is cleared here to prevent SCIM screwing up keyboard input
export XMODIFIERS="@im=null"
LD_PRELOAD="${LD_PRELOAD}:${JSIG}:libPZXInitThreads64.so" ./ProjectZomboid64 "$@" >"${LOGFILE}"
export XMODIFIERS=$prev_XMOD
Same goes for 32-bit or the Java part of projectzomboid.sh at the bottom.
Turns out exporting it must be really important, or key input is still glitchy. Not sure if it can be exported to just an empty string, haven't tried that, I'm just happy my input isn't weird.
Should anyone want, here's a link to an unlisted pastebin of my projectzomboid.sh. I've also made it launch the game with gamemoderun if its present on the machine.
Password for the pastebin is NZTcZDvaXv