You can install Portainer with docker-compose and have control over your port number and config location. When it’s time to upgrade just run docker-compose pull portainer and then docker-compose up -d. My guess is that if you try to upgrade this way with an existing Portainer (GUI) install you will break it. It’s best implemented with a fresh (docker-compose) install.
I tried to change an existing install by just changing the /data volume.. It failed every time. I love the simplicity of the button in the webUI (and it's great for new users). Obviously the way it is designed, it has to be a one size fits all approach. As someone a little beyond a newb, I use docker-compose so I can set my data volume. After that, it's all compose files in stacks. This makes restoring from a backup, adjusting and redploying containers, etc.. so so much easier.