If the entire production dataset is known is advance, should I use it when fitting normalization parameters? I found in multiple sources the recommendation not to fit the normalization parameters on the combined train/test dataset when evaluating the model, to prevent data leakage.

I presume this recommendation assumes prediction data would flow to the model online, and the entire data is not known in advance.

Does this recommendation also apply to when the entire data is known in advance?
And even if not, I guess it is possible to refit the model every time we get new data, with normalization parameters acheived from the entire dataset seen until now?

What are the pros and cons of normalizing over the entire dataset before fitting (as opposed to only on the train set)?
The point of evaluating your model is to assess how it will perform when it is used on unseen data. Normalizing over the entire dataset causes a data leakage (information coming from the test set). As a result, you will get a biased evaluation of your model.

In any machine learning task, the end goal is to use your model on unseen data to see how much the model has learned and how well it can generalize to unseen data. In that regard, there is no pros for normalizing over the entire dataset, and you should avoid doing so!