Regarding Reference channel

This just means you add an electrode Cz and set its value to zero. Fp1 remains unchanged.

The way the data acquisition was set up, Cz was used as an offline reference, which suggests that the Cz electrode does exist. I would like to retain the Cz electrode if possible.

I'm not sure I understand what this means.
If the line "REF : 0*Cz" of the montage gets replaced with "Ref : " automatically, it probably means that there is no channel "Cz" in your recordings.
But feel free to create a channel with the name you want for your reference.

May I ask why you want to add the reference channel back into the data matrix? Are you sure this is really something you need?
Note that the only interest I can think of for adding back an empty channel before computing an average reference channel is to be able to revert the computation and go back to the original monopolar montage. In Brainstorm, you can always revert to the original data as the average reference is added as a linear operator on the side of the EEG data, and applied on the fly to it. This original continuous EEG file is not modified.
For source estimation, there is no interest of adding extra channels that are linear recombination of the others, as this does not add any information to the model: the rank of the EEG data matrix remains the same. Adding extra channels is actually not recommended.

You need to apply the montage, and then set the position of the new electrode.
Adding new channels which are local interpolations is not recommended before source estimation. The only use case where using local linear interpolations is advised: replacing bad channels with the objective of computing a sensor-level grand average across subjects that have different lists of bad channels, in order not to have to reject to many channels in the grand average.

The reason for retaining the Cz electrode is because I was under the impression that this electrode was omitted from the dataset since it does not appear in the channel file. This may be problematic if I were to display a topographic map of theta/alpha which tend to centre around Cz electrode. Is there something I have overlooked with this logic?

At least for now, I am not planning to calculate sources with this dataset. I am attempting to display frequency components across all electrodes in a scalp topographic map.

The reason for retaining the Cz electrode is because I was under the impression that this electrode was omitted from the dataset since it does not appear in the channel file. This may be problematic if I were to display a topographic map of theta/alpha which tend to centre around Cz electrode. Is there something I have overlooked with this logic?

The channels listed on the right of the colon ":" in the montage definition MUST exist in the dataset.
The syntax "0 * Fp1" = "0 * Cz" = 0, it is only a way to set a new channel to 0, just ignore which channel it is using a source to compute the new channel entirely filled with zeros.

I am attempting to display frequency components across all electrodes in a scalp topographic map.

In a topographic map in Brainstorm, the values around Cz would be interpolated from the neighbors.
The changes you can expect to observe in the "2D sensor cap" or "2D disc" figures after adding an extra reference channel are probably negligible, and probably not worth the trouble you are running into.
You can probably simply skip this step.

Hi Team,
I am trying to get the reference channel back using these above steps.
Should these steps be done before or after re-referencing ?

Adding the reference channel (a channel flat at zero) needs to be done before re-referencing.