Accuracy of the model
Good that you raise the question because there's most likely a bug.

I've done over 100 ML models and never seen test accuracy being higher than train accuracy.

Potential bug? Most likely there are much more class labels in your training than in your test set. Solution? Try in class_weight = "balanced". This most likely fixes it.

Another potential problems? Did you fix the random seed? You did not set C at a high level? E.g. 100, 1000..

PS: Nice! I see you normalize first and then split train and test! Well done. By doing so, you avoid data leakage.