The backend for the leaderboards is just a simple PHP script that dumps the scores to a database. And then there is another script that gets wanted amount of scores from it and returns then as JSON.
Simple enough. Do you have any way to prevent fake scores? Not sure it would even be possible for someone to cheat, but still. Something like having a random float at the start of the game that multiplies the actual score and that you verify before sending the score online, so someone can't just change the value of their score in game.
Also, I didn't mention that in my first comment, but when playing on my phone, I couldn't type in a name for the Leaderboard, feels like you might have lost a couple of potential players because of that.
There is a very dumb verification method there too to keep curious players from trying to spoof the submissions. But nothing too fool proof.
Yeah it's very annoying that Unity's input boxes don't open the onscreen keyboard on mobile. I guess I should always at least put some "anonymous" placeholder there so it doesn't fully block from progressing.