The variable $/ refers to the most recent match while the variable $¢ refers to the most recent outermost match.  In most basic regexes like the above, that may be one and the same.  But as can be seen from the output of the .raku method, Match objects can contain other Match objects (that's what you get when you use $<foo> or $1 for captures).
Suppose instead we had the following regex with a quantified capture
/ ab (cd { say $¢.from, " ", $¢.to } ) + /
And ran it would see the following output if we matched against "abcdcdcd":
0 2
0 4
0 6
But if we change from using $¢ to $/, we get a different result:
2 2
4 4
6 6
(The reason the .to seems to be a bit off is that it —and .pos— are not updated until the end of the capture block.)
In other words, $¢ will always refer to what will be your final match object (i.e., $final = $text ~~ $regex) so you can traverse a complex capture tree inside of the regex exactly as you would after having finished the full match  So in the above example, you could just do $¢[0] to refer to the first match, $¢[1] the second, etc.
Inside of a regex code block, $/ will refer to the most immediate match.  In the above case, that's the match for inside the ( ) and won't know about the other matches, nor the original start of the matching: just the start for the ( ) block.  So give a more complex regex:
/ a $<foo>=(b $<bar>=(c)+ )+ d /
We can access at any point using $¢ all of the foo tokens by saying $¢<foo>.  We can access the bar tokens of a given foo by using $¢<foo>[0]<bar>.  If we insert a code block inside of foo's capture, it will be able to access bar tokens by using $<bar> or $/<bar>, but it won't be able to access other foos.