Incluso se me ocurre que crees la primera página fuera antes de entrar en la parte donde defines que sea "unbreakable", algo tal que así:

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Portada", ln=1, align="C")
pdf.add_page()
pdf.set_font("Times", size=16)
line_height = pdf.font_size * 2
col_width = pdf.epw / 4  # distribute content evenly
with pLib.pdf.unbreakable() as doc: 

Buenas @Lluís Vilalta , quizás este no sea el foro más adecuado al ser una pregunta puramente de Python, pero a ver si te podemos ayudar.

Veo por la documentación de dicha librería que puedes activar o desactivar la función de salto de página si el texto supera el espacio libre:

https://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/
 

Quizás puedas definir ese parámetro a falso cuando estás escribiendo la primera página y una vez acabado volver a definirlo a verdadero.