The Variant type enum for pooled array types follows the format PACKED_<type>_ARRAY, not PACKED<type>ARRAY.
Our current implementation just converts the C++ type name to uppercase and append it to Variant::. So PackedInt32Array gets mapped to PACKEDINT32ARRAY, and since Variant::PACKEDINT32ARRAY doesn't exist, the mapping fails and we would refuse to register it.
Instead of simply converting type names to uppercase, we need to convert type names from CamelCase to snake_case, then to uppercase.