Кто как хочет так и делает :)
Главное в 1 секции должен быть только один h1
А вот h2 делай сколько хочешь).
Но так как ты позначил, будет нормально, я бы тоже так сделал!
Transition не на все тэги работает корректно)
Знаю он работает нормально с div , то просто можно всё обернуть в блок и задать ему transition и всё должен заработать (это при использование CSS HTML) JS ещё не изучал хз как он с ним работает)