The documentation does not go into details regarding labels within macros, so I can see how one could assume that what you have attempted should work. However, macro processing does get a bit more complicated, and from what I can see so far, there was some effort put into the "unscoped re-usable labels" actually having a narrow scope to just within the macro.
I think the main reasoning here was (since these labels are re-usable) to prevent having the inclusion of a macro (which used the same labels) from throwing off jumps or calculations in the original code (there would have been no error message for duplicate label symbols). Feature for this one - documentation needs updating...
As you noticed, there were also restrictions within macros for forward references. I haven't tested this, but it would appear that for the case of a locally scoped re-usable label (ex. jmp >.name), I might be able to somewhat easily let this one jump forward out of the macro. There probably was a reason for not doing this, but I can't see it yet or think of one at the moment...