Pardon my ignorance, but isn’t this more or less a fancy goto?

Sure, but only in the sense that all structured programming (functions, if/else, loops, etc) is "fancy goto".

I believe the answer is "yes, but..."

Yes, but every every control flow statement in programming is more or less a fancy goto.

If, do, while, for, try/catch, ...