I’ve just received an answer from one of our engineering teams.
Yes, the format of the user_id is <provider>|<id_from_provider
. More on that here: How exactly does user_id work and what is the difference between the top level user_id and the ones in identities? - #2 by markd
According to the Bitbucket community resources and documentation: https://developer.atlassian.com/bitbucket/api/2/reference/meta/uri-uuid#userobj
The curly braces are expected and part of how Bitbucket parses the ID. They use curly brackets to differentiate between IDs and usernames.