There is no mystery whatsoever.
Consider the following:
my %h = "a", 1; # {a => 1}
Then consider this:
say *, *; # **
and also:
say *.VAR.WHAT; # (Whatever)
Taking into account that => has tighter precedence than , what you get in:
my %h = *, a => [1,2,3];
is actually the following data
> my %stash = monsters => @monsters, rocks => @rocks
{monsters => [godzilla grendel wormface blob fingfangfoom tingler], rocks =>
[marble sandstone granite chert pumice limestone]}
> my @more_rocks = << marble sandstone granite chert pumice limestone >>
[marble sandstone granite chert pumice lime