The problem is with the data position which is used for comparing. The Key column is used for sorting data and then the data is compared in the same position. Unfortunately, different providers sort data a little bit different.
Source for Oracle:
Target for SQL Server:
Looking at these examples, it can be seen that the position is different. Because data is read one by one row it did not see same results on first row, so this row is marked as unique. In the next step the next row is read, but only for the target because we are trying compare next row. These rows are equal, but there is still one more row on source. Because there is no other data on target this row is marked as unique on Source.