(1) Submesh separators are working as intended, though it could probably have a note somewhere.
The selected submesh separator slot gets included with the lower set, which in this case means it will include the button.
You probably want the slot right below the button slot.
For best/unambiguous results, add an empty slot to the skeleton and use that empty slot to divide the mesh into submeshes.
(2)
You shouldn't be using submesh separators for this.
If you want to make a slot empty, get the slot, and set its attachment to null.
mySkeletonAnimation.skeleton.FindSlot("mySlot").Attachment = null;
(3)
Why does the button image have to be part of the Spine skeleton?
Can't you just make it its own Unity GameObject with a SpriteRenderer?