I've found a great way to get the best of all three of theses modes in emacs, I'm just not too sure what the "engines" are in web-mode. It says svelte is one of them, but the documentation doesn't include svelte. I think this is the correct way, but if anyone knows better please let me know. Basically I'm just worried I'm miss using or configuring something.
;; svelte support
(add-to-list 'auto-mode-alist '("\\.svelte\\'" . web-mode))
(setq web-mode-engines-alist
'(("svelte" . "\\.svelte\\'")))
(i have `(web-mode . lsp-deferred)` in my lsp mode setup)