The := operator only has one behaviour/semantics in this example.
However, in one of your examples you're actually getting a Scalar inside
a Scalar. Check this out:
timo@schmand ~> perl6 -e 'my $a = 3; sub ss1(Scalar $s, $nv) { say
$s.VAR.DUMP }; ss1($a.VAR, 7)'
▶3
timo@schmand ~> perl6 -e 'my $a = 3; sub ss1($s, $nv) { say $s.VAR.DUMP
}; ss1($a.VAR, 7)'
▶▶3
Does that help clear things up a little?
I'm not sure what mechanism causes the example where Scalar is supplied
in the signature to not re-containerize, though.