Even though keyword arguments can be passed inside the hash, I think that the intended use in the first place is to directly use the key: value syntax:
my_method(first_name: 'Bob', last_name: 'Marley')
As for this form, there is no character key (or array). The key: value syntax is the direct meaning of the keyword arguments.
My assumption is that since this syntax matches a hash with symbolic keys and missing curly braces, it makes sense to also accept pairs of keyword values ββthrough a hash with symbolic keys. And it could be that it was designed to be compatible with the symbolic key hash transfer trick that was used before this syntax was introduced.
source share