I would use a complex32 dtype if it existed, whether provided by numpy or another library.
My guess would be that there was not much demand for a complex32 datatype since float16s are slow and are generally used as a storage format [1] and you could easily store a complex array as two float16 arrays and get the same space savings.
That said, I am occasionally storing complex-valued validation data in memory, and the datatype would make it more convenient. I just don't know how common my use case is. Maybe there are more compelling use cases? I know some GPUs natively support float16, I'm not sure how common complex32 support is though.