Employers usually have an HR team that is dedicated to knowing what the labor market looks like. They may not know exactly your previous salary, but they keep very up to date tabs on industry trends. They also know exactly how their current human resources are paid.
You know nothing except your past salary. They have more cards than you do.
Public salary means they know your past salary, but it also means you know what they pay their current employees, and can negotiate accordingly.
The only way this is not beneficial to any given employee is if they think they are a huge positive outlier.
edit bc hn limits me if I post like 3 times in short succession:
I don't think you understand the public policy implications of this.
The vast, vast majority of people aren't negotiating 20k increases. And people who are negotiating far more, like CEOs, do fine even with public information out there.
The equation here is one of giving employees more bargaining power over employers. An insignificant proportion of employees currently benefit from secrecy, and many of them aren't even sure they benefit, they just suspect they do.
If it's all "rounding errors", as you say, consider how this alters the dynamics between you and your bosses, not only between you and your peers.