I’ll throw my two cents in here, though I’m really hesitant to.
Holdo’s character works (for me at least) because her motivations conflict with Poe’s motivations. There needs to be conflict in a story or else there is no story, right? Right.
Poe wants to keep blowing star destroyers up with his X-wing, which could result in the death of the rest of the sqaudron, while Holdo wants to keep the Resistance together and prevent any further causalities. So, they butt heads. And in the end, Poe realizes that she had the best interests of the Resistance at heart.
Sure, she didn’t need to be super vague or rude to Poe, but it was at the service of Poe learning a lesson – follow orders and don’t immediately resort to blowing something up. I’m not the biggest fan of TLJ, but even I can see that her character serves a good purpose in the story.
Another thing, who cares if Star Wars doesn’t follow real life military protocol? It’s Star Wars.