When releasing from a branch, we typically rebase these onto main to ensure we have included all previous changes. Rebasing breaks tags and so generating changelogs will include absent anchors in the comparison leading to duplicate changelog entries.
If we instead look for the release commit instead of release tag, we will have a much more predictable (and correct) outcome for determining the changelog.