fix TypeofBottom subtyping of Type{T} for non typevar T (e.g. Union) (#61152)
closes https://github.com/JuliaLang/julia/issues/49358, which was caused
by the fast path `obvious_subtype` normalizing `Type{Union{}}` to
`TypeofBottom` and one of the branches not accounting for that
normalization
I believe it's acceptable to special-case `TypeofBottom` here since if I
understand correctly that is the only `DataType` which subtypes a
`Type{X}` where `X` can match `Union{}`, but does not have `name ==
Type`