I haven't found him to be very morally ambiguous at all. He wants to save lives and end the war, and understands that to win a war you usually have to do lots of unpleasant things.We have had reason to suspect and question Lorca's nature and motives long before now. He was introduced as a morally-ambiguous character from the get-go.
What about it? You yourself admit that we do not know all of the facts concerning the Burnan, so pre-judging him guilty of some sort of crime without knowing the facts would in itself be reprehensible, IMHO.And what about all that stuff with Cornwell, and destroying his own ship, killing his own crew to "save" them from the Klingons, yet obviously sparing himself? We don't know the whole truth of what happened yet, of course. But we are definitely not meant to think he's any sort of innocent or mere unfortunate, by any stretch.
And Cornwell's assessment of his fitness for duty was clearly incorrect, as evidenced by the awesome job that he did in defending Pahvo, discovering a way to detect the cloaked ships, and defeating Kol. He has repeatedly shown himself to be an excellent wartime Captain.