It is generally not recommended to operate in type space in Julia (this is not spelled out very explicitly, but cf this faq). This can easily lead to overly specialized code in cases where it may not be needed.
Types ending up as DataType is kind of an escape valve so that the compiler gets a break. If necessary, you can sharpen things up to get a Type, like the method you define. But generally it is an anti-pattern in Julia.
It would be interesting to see a use case though if you have an MWE.