ブレークポイントが3個ありますが、$page_numの性質が違います。一番上の$page_numは調べると、PDOStatementとでます。2個目のブレークポイントで$page_num = $page_num->fetchColumn();で初めて、intの性格を持つようです。
知らないところで、クラスとインスタンスが動いているようです。この辺もPDOを使ったデータベース接続とmysqliを使った場合の違いが、さらに混乱を起こします。
追記)VS Codeの配色を変えました。前のは行番号が見えないと、コメントが見えなかったので、変えました。