Do the preprocessing steps for new data need to be identical to the steps for train/test data?

I'm using decision tree classification for a classification problem. I have preprocessed the data, train/test split it, and run a model with cross validation before testing it. The steps I followed for preprocessing are outlined below:

1. Removed some occurences (rows) which aren't usable
2. Transformed some of the columns by taking nth-root to remove skew (n is different for each column, I plotted the data and did whatever looked like it reduced the skew most)
3. Train/test split the data
4. I fit OneHotEncoder() and StandardScaler() to the training data
5. I applied the transformations in step 4 to both the training and test data

My questons are as follows:

1. Are my steps correct? In particular, is it correct to 'root transform' the data before train/test split, or does that lead to data leakage?
2. When I want to apply my model to new data (after testing etc.) does that new data have to undergo identical preprocessing? e.g. fit to the train set then apply it to the new data and root transformations of the same nth-root.

2. When you want to apply you model, you have to follow the same process you did when training. However, you only need to transform in the same way, never fit! So the process would be: Remove occurrences/samples (you are accepting that you won't have predictions for these values, if not, change you approximation), transform columns, transform OneHotEncoder() and StandardScaler(). Of course we are not splitting data into training and test because we are on deployment, and all our data is test.