The problem is. virtualenv/wrapper and pipenv tend to use symlinks, to existing FS pythons and libraries. Im not sure about pyenv, that one doesnt turn up in the wild so often. My understanding is you can bludgeon pycharm to support it, but its by no means a default in there.
Regardless of the case. homebrew breaks virtualenvs, that much isn’t in question. So some sort of warning and an option to back out when python is going to be updated would be really useful, otherwise its just too unproductive to keep homebrew around if your on the clients dime. (Also, it would appear the python env setup tooling in pycharm uses a version of setuptools that isnt supported in 3.9, so python3.9 is a no go for now.
Perhaps not uninstall, but absolutely PyCharm users should not be using any homebrew feature that might sneakily trigger a 3.9 upgrade till PyCharm updates its tooling. or stuff just breaks hard