Why is it kept “privately” by the referee - why not display it for all to see?
It takes away the referee’s flexibility in keeping the time. Stoppage/injury time is notorious for, well, stoppages and injuries. During that time the team in the lead will do their level best to stall, and a ref that commits to 4 minutes can’t extend it to 5 when the synchronized diving begins.
It is displayed to all initially though, The 4th official holds up the board to say how long is to be added at minimum and the referee then extends that incrementally if time-wasting or other factors come in to play during the extra time.
The problem is that, because it is incremental and down to the judgement of the ref, rather than a rigid start/stop of the watch, A process that made those small changes constantly would be unworkable.