ということがあったものの現状 JavaScript からユーザーが操作できるブラウザのページ表示倍率は触れないはず
○%以上のズームは許可しませんとかすると使う側からして不便になるし わからないでもない

transform でいいかと思ったけど これはレイアウト計算後にズームするから思い通りにならない
だけど 全体をズームするなら問題ない気がする と思って試してみたら思いの外問題なく動いた

ページサイズを 2 倍にする

#root {
width: 50vw;
height: 50vh;
overflow: auto;
transform: scale(2);
transform-origin: 0 0;
}

流石にここまで大きいのはじゃまなので 125%

#root {
width: 80vw;
height: 80vh;
overflow: auto;
transform: scale(1.25);
transform-origin: 0 0;
}

body に設定すると overflow が効かないので #root みたいな要素を作ってそこに設定
すべての要素は #root の中に配置する
Portal 的な機能で ダイアログ等を body 直下に置くとズーム対象外になるので注意

自作ページならどうにかなるけど ネット上にあるページを拡張機能とかで制御するのには向いてなさそう
拡張機能にするなら直接倍率制御できるかも?