Стоит ли создать новый контейнер для отдельной вёрстки хедера?
Стоит.
С помощью Pug можно и нужно разбивать верстку на отдельные компоненты.
Это удобно, как минимум, в ситуациях когда компоненты нужно использовать повторно. (Например, компонент с хедером можно использовать на новых страницах).
но тогда чтобы хедер был поверх картинки нужно будет его позиционировать абсолютно, с бутстрапом это не очень удобно
В чем неудобство? Судя по коду, вы совмещаете свои классы и классы бутстрапа. Так и нужно.
Бутстрап это сетка и, при необходимости, набор готовых решений (типа модалок, списков, кнопок и т.д.), которые можно кастомизировать по своему усмотрению.
В вашем случае, вы вообще собираетесь использовать только сетку. Тогда тем более нужны свои классы.
P. S. Вы немного неверно пишите на Pug.
У вас вот так -
div(class="home")
div(class="container")
div(class="row align-items-center")
div(class="col col-lg-5")
А нужно писать так -
.home
.container
.row.align-items-center
.col.col-lg-5
В скобках указывайте прочие атрибуты, типа src, href, alt и т. д.