THIS MAKES ME THINK THERE HAS BEEN A CODING ERROR
I remember this once happening to me. I had managed to scramble the true labels so that the expected accuracy really was just one out of ten for a $90\%$ error rate (because there are ten categories with even representation). Once I fixed that coding mistake I had made, my accuracy jumped up to be more along the lines of what would be anticipated for MNIST digit classification.
MNIST is pretty easy to solve with quite high accuracy, and while overfitting could happen, your model is so simple that I would suspect a coding error that has scrambled your test set categories before I would suspect a major issue with the model.