If the entire production dataset is known is advance, should I use it when fitting normalization parameters?
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!