Right now #26018 doesn't support float dtypes since one needs to correctly handle equality and hash values involving 0.0, -0.0, and nan and inf/-inf values.
The unique.cpp code needs to be refactored to accept these functions for dtypes and then to use them.