2. Consider using an actual checksum like CRC-32 rather than a truncated hash if your intent is to detect data corruption (see https://stackoverflow.com/a/72580031)
3. Obfuscation is a fool's errand; as you said, it provides no security, but therefore it also serves no purpose except to give a false sense of security, which is often more dangerous than none at all. Actual private key container formats (like PKCS#8 and #12) allow for encrypting the key with a passphrase, which is something you might consider instead.
4. "AES-GCM keys" are not a thing; they're just AES keys (which are just random bytes of a set length).