I don't really have any hard and fast rules on hose color, I have cream, navy blue, lovat green, oatmeal and red hose. The cream hose don't get worn very often. Oatmeal hose goes very nicely with a kilt and a khaki shirt, the navy blue with the Campbell of Cawdor kilt, the red hose match one of the small stripes in this kilt. The lovat green hose go very nicely with the ancient green color in the Ancient Lamont kilt. I do try to match the color of my tie with the hose at times.

At the formal affairs I attend you see about a 50/50 split between cream hose and the darker color hose, IMHO darker color hose matching one of the predominant colors in your kilt add to the dressy look of formal wear. Even the red hose look good with formal wear.

Hose color is a matter of personal choice, there are many color combinations that will work. If you had to match your shirt color you would never get a chance to wear many of the darker color hose with formal wear. Hose colors and ties give you the flexibility to change and vary the looks of your outfit.