Ну, если в наглую, то window.location.href = "/cabinet"
Как я понимаю hook.js это на сервере, который передает данные клиенту,
редирект с cabinet/login это на клиенте, при переходах внутри клиент не читает cookies.
Я у себя сделал аутентификацию без переходов.
$layouts.svelte:
{ #if authenticated }
<slot />
{ :else }
<signin />
{ /if }
signin выставляет cookie и меняет authenticated