So I wanted to post what we found in case this helps anyone in the future. In this particular case, the clustered unique index includes a date field. As we learned in a great article by Fabaino Amorim (https://www.simple-talk.com/sql/learn-sql-server/showplan-operator-of-the-week---split,-sort,-collapse/), SQL Server will sort based on this index while performing the update.
What we have is:
old values:
5, 201301 (row 1)
6, 201302 (row 2)
Update to:
5, 201301 (+ other changes) (row 1new)
6, 201301 (row 2new)
Sorting, what happens is
delete row 1 (5,201301)
insert row 1new (5,201301)
insert row 2new (6,201301)
delete row 2 (6,201302)
CDC is recording exactly what happened. It is still odd that CDC is recording the internals of an update that can be open to misinterpretation via the get_net_changes MSFT provided function, but it isn't wrong, strictly speaking.