Not a bug. But it is a bit confusing.
"default" is the name reserved for the attachments that are outside of skin placeholders in the editor. Internally, that's where Spine stores all those attachments. There will never be a skin named "default" visible in the editor but you'll see it in the json. It's not really "invisible" as much as it is a specially-treated collection of attachments (which is what skins really are at runtime).
I wish it were some other name, actually, but that's how it is (right now, and maybe forever).
I've had to resort to things like "plain" or "base" for my actual default skins.
I think "base" or "baseSkin" as the reserved name would have made more sense based on how it's handled. But that's not really up to us now. It would break too many things to change at this point.