It's humbling to see the gaps in my perl knowledge. I got three right, two wrong, and in the first example I had answered something different, don't know if you'd count that as right or wrong.
though I'd like to hear that in case of $self->foo() the foo is searched first in the $self's package and then in the packages in it's @ISA. In both cases the function that gets called receives $self as it's only parameter.
I think your answer is correct. My own answer looks at it from the perspective of where you might notice a difference in a real program. I think your explanation says more about how that difference arises (i.e., how it all works).