タイトルの通りです。
beforeunloadイベントでページ更新と遷移を判別することはできません。
よって、離脱とページ更新(リロード)で、確認メッセージを出し分けることもできません。
何故なら、ユーザーの遷移先はプライベートな情報だからです。
例えば、下記のようにbeforeunloadイベント発生時のイベントオブジェクトを出力してみても、次の遷移先の情報は含まれません。
window.addEventListener('beforeunload', (event) => { console.log(event); event.returnValue = ''; });
自分で確かめたい方は、
上記を適当なページ、例えばこのページで、開発者ツールを開き、コンソールで上記コードを実行した後、
別ページに遷移しようとしたときに出た時のダイアログのキャンセルをクリックし、コンソールに出力されたeventオブジェクトの中身を確認してみてください。
遷移先に関する情報は何もないはずです。