Not sure if I understand the question but 321682 is linked to 421682 in the breakends. You can kind of imagine the breakends having little "feet" which I sometimes call "directional feet" not sure if that helps

We have a pseudocode in javascript that helps parse breakend strings
for example parseBreakend('G]2:421681]') results in
{
"MateDirection": "left",
"Replacement": "G",
"MatePosition": "2:421681",
"Join": "right"
}
this says, the MateDirection is left because the square bracket points to the left and the "join" is right because it is after the letter G
another example parseBreakend('[2:421682[T') results in this
{
"MateDirection": "right",
"MatePosition": "2:421682",
"Join": "left",
"Replacement": "T"
}
The code for doing this looks like this (from our @gmod/vcf-js library)
function parseBreakend(breakendString) {
const tokens = breakendString.split(/[[\]]/)
if (tokens.length > 1) {
const parsed = {}
parsed.MateDirection = breakendString.includes('[') ? 'right' : 'left'
for (let i = 0; i < tokens.length; i += 1) {
const tok = tokens[i]
if (tok) {
if (tok.includes(':')) {
// this is the remote location
parsed.MatePosition = tok
parsed.Join = parsed.Replacement ? 'right' : 'left'
} else {
// this is the local alteration
parsed.Replacement = tok
}
}
}
return parsed
}
// if there is not more than one token, there are no [ or ] characters,
// so just return it unmodified
return breakendString
}