Replace `Set UnitId` with `UniqDSet UnitId`
Continuing from #22426 (closed), we should also replace usages of Set UnitId with the more specialised UniqDSet instead.
As with Data.Map, the use of Data.Set results in lexicalCompareFS being called in the Ord UnitId instance. By instead using UniqDSet, the comparisons will be replaced by fast Int comparisons.