You've covered some of it.
As this article looks at it, we're not really seeing the past events - we're seeing Joel's memories.
As such, Clementine's changing hair colour is a reflection of her impulsive and changeable (unstable) personality.
But it does go deeper - the changing colours gives the viewer a cue on where in the timeline the movie is.
And, as you speculate, the different colors seem to be matched to the state of Joel and Clementine's relationship:
The color of Clementine's hair also represents the status of her relationship with Joel. The deep reddish auburn color represents the happy days of the relationship. This is her hair color when they delve into Joel's past, when she becomes Mrs. Hamlyn, and when they're hiking in the woods or lying on the ice.
When her hair turns lighter to match the color of her sweatshirt (the color she would probably call Agent Orange) we understand that the relationship has started to go south. Her hair is this color, for example, when she and Joel argue at the flea market, at home during Halloween, and when she comes in late.