The words I am thinking of in particular are 表情, 面持ち, 顔色, 顔つき, and 面相.
I understand that 表情 is the most common, 面持ち is only for negative expressions, 顔色 more often refers to complexion rather than facial expression, and 顔つき can also refer to facial features in general. But beyond that, I don't understand any of the nuances.
For example (coming from google searching): it seems 汚い表情, 汚い顔つき, and 汚い面相 are all valid ways to refer to a "dirty look", but 面持ち can't be used and 汚い顔色 refers to skin complexion issues
In another example, 表情を読む, 顔色を読む, and even (rarely) 面相を読む are valid, but 面持ちを読む and 顔つきを読む are not.
Are these fixed idiomatic expressions? Or is there some pattern to the nuances between them which makes it "obvious" when you can or cannot use them?