On subroutine return, any return values are copied. [emphasis mine]
D'oh! Thank you for the enlightenment on a Friday afternoon ;-)
$ perl -wMstrict
*a = \substr(undef,0); # alias via glob
$b = $a; # copy
$a = 'x'; # assignment
Use of uninitialized value in scalar assignment at - line 2.
Modification of a read-only value attempted at - line 3.
And just like above, on Perls <5.16 that dies with "Modification of a read-only value attempted at - line 1." (instead of line 3). So I should probably call the commit I referenced a bugfix! :-)
Additional updates: Expanded the code example from the original version and added (and edited) the last paragraph.