The following link markup from the example you linked does work:
[[Return|$return]]
The problem you're having is that Twine 2's automatic passage creation "feature" is a bit brain-dead and will create a passage named $return, which screws things up. Simply deleting the spurious passage fixes the problem.
Alternatively. You may use the separate argument version of the <<link>> macro to avoid automatic passage creation. For example:
<<link "Return" $return>><</link>>
Twine 2 won't recognize that as a link, thus won't create a $return passage.