Могут ли контейнеры содержать классы и разметку?
Компоненты в Реакте делятся на несколько основных групп (напишите где ошибаюсь):
Ошибаетесь в том что в реакте компоненты делятся на какие-то такие группы. В реакте компоненты делятся совсем по другому - функциональные, на основе классов и так далее.
на презентативные/контейнеры они делятся уже не "в реакте", а в вашем конкретном приложении, при условии что вы выбрали тот подход для построения который предлагается в статьях Дена Абрамова. 
Стоит отметить что это было просто его мнение на тот момент, а сейчас он пишет: Update from 2019: I wrote this article a long time ago and my views have since evolved. In particular, I don’t suggest splitting your components like this anymore.
Можно выбрать и какой-то другой подход. И делить по другому. Или вообще на других принципах строить архитектуру. Или видоизменить его подход под какие-то свои конкретные нужны и так далее. 
поэтому ответ на вопрос:Если мы хотим чтобы шапка была серая, куда писать этот стиль?
Зависит от того - как вы в итоге строите свое приложение.
Поэтому ответ - как вы сами считаете правильным. 
Для меня критейрий прост - если вы решили делать вещи каким-то образом и через время, когда вам нужно что-то сделать в этом коде вы материтесь и страдаете - решение было неверным. надо делать по другому. Если же меняете то что нужно достаточно легко и без проблем - вы все сделали правильно. 
Когда приложение достаточно вырастет - вы сами поймете как для вас лучше, если будете обращать внимание. 
Если вам обязательно нужны формальные правила построения компонентов - определите для себя любые как больше нравится и им следуйте. Потом поменяете, если не зайдет.

а. Презентативные (знают как отобразить данные, но не знают самих данных; работают только через свойства; всегда чистые компоненты)
Откуда инфа, что это всегда чистые компоненты?
Если проект большой, то да, можно создать каркас с версткой и задавать базовые стили в нем. Если же проект масштабироваться не будет, например простая ToDoшка, то можно и в самом компоненте хедера задать стили.
Когда вы возьметесь за дело, вы сами поймете, что будет удобнее. И будете переделывать свои компоненты еще очень много раз, но в итоге разберетесь