He is a queen should be accepted also
"Ratu" doesn't mean a homosexual man in Indonesian, so it cannot be used as a translation for "queen" in this sense.
Is dia ratu not enough? Why adalah seorang?
"Adalah" and "seorang" are optional. We can use them or omit them to improve the flow of the sentence, to fit the context around it.