That's a weird definition of 'public'; for most folks, I imagine 'public' to mean anything accessible without any authorization.
An exception can be made for topic branches, especially in a pull-request workflow. These branches could be rebased / amended to update the final result, even after they have been pushed already.
That's authorization.
> anything accessible without any authorization.
Even if it does require authorization, it's considered public in regard to this discussion.
Why is this a conversation?
It does not matter if you pushed it to a private repository where some other people still have access to; they might have fetched that history and committed on, which causes unexpected results when you rewrite such a branch.
I tend to use published history / commits for this reason to make it less confusing.