今回の用途としてはwindow.visualViewport.heightが最適だなと判断しました。
理由 画面を拡大縮小(macで言うcommand + )すると値も連動する 画面をズームイン、ズームアウトすると値も連動する 仮想(画面)キーボードが表示されると値も連動する(モバイル) 動的ツールバーの高さは含まない
https://qiita.com/yamatai12/items/270a9cf924eed0b84db2