I've seen it used as a noun/adjective so much. Like, "She is Italian." "She is twelve-years-old." I understand what you're saying though, and I just googled, and both ways are right, so I'm fine with whatever you want to do.
> Do you say "straight, black hair" or "straight black hair"? The latter looks nicer, but I've never been sure.
It should be "straight, black hair."
It's about modifying. If both adjectives modify the noun, you need the comma. "ugly, yellow teeth." The teeth are both ugly and yellow, so the comma is needed. "Straight" doesn't describe "black." It describes "hair," so there should be a comma.
"Dark brown hair" doesn't need a comma because dark modifies brown, and brown modifies hair. Even though the hair is dark, what's being said here is the brown is dark. You can also have "dark, brown hair" because the hair can be dark and brown.
We should cut him some slack anyway. I'm pretty dang good at grammar and you've corrected some of mine here. I don't ever take offense because no one can be grammatically correct all the time. There are way too many rules, and they're constantly changing.
The things I am hard on people for are run-on sentences, sentence fragments (sentences without verbs), and homophones (they're/their, your/you're, it's/its, to/too/two). Those are all things that never change that we can all learn to use properly.