I am taking inspiration from this post to set raggedbottom to only the content of an environment and not the other parts of the document (in a book). However, it seems that the afterpage command and/or usage of global variables does not work as I intend it to in an environment. In the MWE below, you'll see that the text "extbottomexttop" is printed to the second page so it seems that @textbottom is not read successfully. I tried using \@{textbottom} instead (which I know from other programming languages) but that did not help either.
\documentclass{book}
\usepackage{afterpage}
\usepackage{lipsum}
\newenvironment{chaptertitlepage}{
\raggedbottom
}{%
\makeatletter
\afterpage{\global\let@textbottom\relax \global\let@texttop\relax}
\pagebreak
}
\begin{document}
\begin{chaptertitlepage}
\chapter{First chapter starts here}
It contains information about authors and an abstract which should all fit on the first page.
\lipsum[1-2]
\end{chaptertitlepage}
\section{Introduction}
The other text follows after
\lipsum[3-5]
\end{document}

\raggedbottombut force a page break with\clearpageat the start and end of the environment – David Carlisle Jan 18 '21 at 12:09\makeatletter..\makeatother(putting\makeatletterinside the definition does nothing) – David Carlisle Jan 18 '21 at 12:09\raggedbottomat all, simply\clearpageto force the page break. – David Carlisle Jan 18 '21 at 12:11