Как по мне, то это самый правильный вариант. Никто ведь не говорит что `header` и `footer` не могут находится на одной и той же высоте. Их суть именно в семантике, а не в визуальном оформлении. Почему далее `h1`? Потому что нужен главный заголовк, а внутри явно элементы инлайновые которые классом превращаются в блочные (`d-block`). По линке, думаю, и так всё ясно.
<section class="intro d-flex justify-content-between">
<header class="mb-n1 align-self-end intro-left">
<h1 class="text-white">
<span class="d-block text-right">My Neihgbor</div>
<span class="d-block name">Totoro</div>
</h1>
</header>
<footer class="pr-5 align-self-end intro-right">
<a href="https://youtu.be/9_Cd0WnAflI" target="_blank" class="px-5 py-4 px-5 d-block text-decoration-none trailer-button">Watch TraiIer</div>
</footer>
</section>