It was surprisingly difficult to find this documented exactly anywhere on the internet, so I thought I'd post this somewhere so the next person googling for it has a chance of finding it. The lsp docs just say to "create a dir-local for each of the projects" but provides no guidance on how to do that.
Place a file named .dir-locals.el
in your deno project root, containing exactly the following elisp:
((typescript-mode . ((lsp-disabled-clients . (ts-ls)))))