For a set to have a range that set must have a total order defined. If we want to find the range of a datatype we need to have a total ordering of all the possible values of that datatype. Total ordering is very relevant to the question at hand.
In particular, the using IEEE order and building a range contaning NaNs is not semantically useful. Another detail is the distinction between -0.0 and 0.0; if you naively use the IEEE ordering to construct a type system you will have some problems with for example clopen ranges (-0.0, 0.0] and [-0.0, 0.0)
I don't see how there's a problem with a range containing NaN. It's no weirder than a range containing infinity.
That's alone makes it rather weird
I can understand the confusion many have with NaN, but the idea is that it's not a number, so it's not equal to anything in a number-like type.