As noted in April 'next' triggers LEAVE phaser as expected. With 'last' there is no longer an error, but the LEAVE phaser is still not triggered (same output on Moar, Parrot and JVM):
$ perl6 -e 'loop { last; LEAVE say "bye!" }; say "outside"' outside I added two tests (the one for 'last' is fuged 'todo') to S04-phasers/enter-leave.t with commit https://github.com/perl6/roast/commit/bba16ae7e0