Dialog/Drawer: fix focus-restore scroll and dispose-while-open cleanup (#42544)
* Dialog/Drawer: don't scroll the page when restoring focus on close
Pass { preventScroll: true } when returning focus to the trigger after
close, so the page no longer jumps to the trigger (or to the top when
scroll-padding-top is set). Fixes #38070, #41615, #35391.
* Dialog/Drawer: restore body scroll when disposed while open
dispose() now closes the native <dialog> and removes the dialog-open
body class if the instance is torn down while still open (e.g. an SPA
route change), instead of leaving overflow: hidden stuck on the body.
Fixes #35934, #39910.