(I tried adding this comment about a month ago, but failed hard. Thus another try.)
As expressed by perlpilot++ and some others, having say "asdfEnd" ~~ /:ratchet [ xyz | .+! ] End /; say "asdfEnd" ~~ /:ratchet [ xyz || .+! ] End /; say "asdfEnd" ~~ /:ratchet [ .+! ] End /; all fail might also be a way to harmonize the behavior.