window.openで同期処理というのは合理的な素案だとはおもえません
またwindow.open自体モーダルではなくモードレス処理なので命題には合わないと思います。
sample
別ページをモーダルで開きたいならdialog+iframeでどうでしょう?
javascript
1<style>
2dialog{
3padding:0;
4}
5dialog iframe{
6border:0px solid;
7}
8</style>
9<script>
10window.addEventListener('DOMContentLoaded', ()=>{
11 btn.addEventListener('click',()=>{
12 modal.open=1;
13 });
14});
15</script>
16<dialog id="modal">
17<iframe src="sample.html"></iframe>
18</dialog>
19<input type="button" value="btn" id="btn">
//sample.html
javascript
1<style>
2body{
3margin:0;
4padding:0;
5}
6</style>
7test
8<input type="button" value="close" onclick="top.modal.open=null">