Metadata в App Router — вычисляемое значение, которое течёт вниз по дереву layout'ов, а не side effect в компоненте. Next владеет <head> и мержит shallow (child wins per key).
Разбор
Старый мир (next/head, Pages Router): императивно рендерили <title> внутри компонентов и надеялись, что их не затрут.
Новый мир: вы экспортируете объект Metadata; Next резолвит, мержит parent + leaf и инжектит теги server-side — краулеры и social scrapers видят их в initial HTML без JS.
Senior insight: fetch в generateMetadatadedupe с fetch page — title из CMS без лишнего round-trip.