Then... I guess spawn is controlled by the JSON. I'll look it up, and edit my findings into this post.
Edit: Have done so.
LINK This file contains the first reference to JSON that I could find, it's likely in here.
It seems the JSON file needs to be in the same folder with your NBT file, with the same name except for extension (So for map.nbt, use map.json).
So looking further, I finally found
LINK. ...and the JSON does not control the spawn on the island. But that should show you what you need in the JSON for a description and logo. Put the JSON and PNG in the same folder as the NBT file.
Ah, but hovering over the commit that added the ability to use NBT structure files as platforms gives the solution. As part of your structure, place a "data structure block" with the value "SPAWN_POINT".