Real Atlassian solutions to real problems — no fluff, no SEO spam.
You swapped the app password for an API token and Bitbucket still says app passwords are deprecated. The token is not the problem and neither are its scopes. Git is re-sending the dead credential because git only erases a stored credential on a 401, and the status code Bitbucket chose for this is 410. I measured which codes clear a credential and which do not, on git 2.50.1, against both the store helper and the macOS keychain.