SMOTE and standardisation
Solution 1 and 3 look really similar but I would go for 1 when thinking about the programming paradigm.

Seeing the classification as a big pipeline using standardization, balancing, and classification, one would not like to re-standardize something in the balancing. Furthermore, the assumption made in 1 is correct.

In a practical way, you could use the pipeline offer by the imbalanced API to use SMOTE with a scikit-learn normalizer