Most likely the version of Robocode the server allows is out of date
The server doesn't use Robocode. It simply processes battle results sent by clients. Numbers from 0 to 35 in the case of survival scores.
I know the server throws results away sometimes. It records results on one side of the pairing, but not the other. In an attempt to decrease the number of database accesses and cloud service fees.
But it only reduces the amount of battles. Would explain a low number of battles, but not low scores on all battles.
Ran the battles locally using 18.104.22.168. Still the scores don't match.
Combat can work with much older versions too.
But why wrong scores with only a few pairings? Version issues usually affect the whole ranking.
There is a possibility that battle submitted client has different result when compared to your machine. For example less available memory or different java version. So if your algorithm is CPU intensive it might be forced into the "skip turn" regime and then score will be very low.
For the last year my machines were major battle submitters and I use to run them with old Java, so if yours was compiled with newer Java it would automatically lose, since it would not be able to fight.
I do not think that it is robocode version issue, but I recall that there we some glitches with reporting when we moved from 1.8 to 1.9. I think the only fix in 1.9.1 to 1.9.2 was in the score submission.