So first off, make a seperate scene with the coin and just import it into the world scene. Its way less of a hassle and more dynamic and good practice.
Instead of reseting the whole scene, just teleport the player to the last spawnpoit pos.
And to set the spawnpoint pos to the last coin collected pos, maybe do a global script? Or make a vector2 variable that changes based on the pos of the coin.
Finaly, from a game design perspective, having a spawn point every time you collect a coin could make the game less challanging (which isnt fun). If there are not many coins on a level, add more and if there is some sort of shop, increase the prices. Have spawnpoints in the middle of the level or after a tricky part. (This is what I would do)