It is a bug because unique is documented to use isequal and
unique
isequal
julia> isequal([1, NaN, 3], [1, NaN, 3]) true
https://github.com/JuliaLang/julia/pull/42737