The best practice is probably to only change branches through changing the mxdev.ini settings, but in the real world they may differ because mxdev can't stop you from just running git commands. I have my own CLI that does something like this to check for discrepancies using pygit2:
(venv) PS C:\Users\wohnlice\PycharmProjects\Plone6> imsplone branches -c .\mxdev.ini
ims.contacts: `fake` differs from setting: `master`
ims.opensearch: `development` differs from setting: `master`
ims.portals.prevent: `plone6` differs from setting: `master`
WARNING: `ims.upload` is not found in this config file!
ims.users: `i70385` differs from setting: `master`
WARNING: `plone.documentation` is not found in this config file!
WARNING: `plone.squish` is not found in this config file!
If you think this would be useful I can put in a PR to run this if some flag is passed.