My minecraft world spawn keeps setting underground?

Solution 1:

You likely have something like EssentialsEX, Nucleus or Essentials overriding default Vanilla spawning behaviour.

Try /setworldspawn (Essentials), /minecraft:setworldspawn (Vanilla), or /setspawn (Essentials, also).

It is possible you have /spawnpoint yourself. In that case, you may need to use /spawnpoint @a clear (older versions of Minecraft/Essentials) or /clearspawnpoint//minecraft:clearspawnpoint (Minecraft).