Instale o plugin como dependência de desenvolvimento no seu projeto Vue

npm install --save-dev @vue/typescript-plugin

Lspconfig

    local config = {
      capabilities = require('cmp_nvim_lsp').default_capabilities(),
    }
   local servers = {
      'volar',
      -- ..
    }
    for _, server in ipairs(servers) do
      lsp_config[server].setup(config)
    end
   
   local handlers = {
      ts_ls = require 'config.handlers.ts_ls',
      -- ..
    }
    for server, handler in pairs(handlers) do
      local cfg = vim.tbl_deep_extend('force', config, handler)
      lsp_config[server].setup(cfg)
    end

Ts_ls config

local nvim_lsp = require 'lspconfig'

local function pwd()
  local dir, err, err_name = vim.uv.cwd()
  if err ~= nil or dir == nil or string.len(dir) == 0 then
    if err_name then
      return ''
    end
    return ''
  end
  return dir
end

return {
  root_dir = nvim_lsp.util.root_pattern 'package.json',
  single_file_support = false,
  filetypes = {
    'javascript',
    'javascriptreact',
    'javascript.jsx',
    'typescript',
    'typescriptreact',
    'typescript.tsx',
    'vue',
  },
  init_options = {
    plugins = {
      {
        name = '@vue/typescript-plugin',
        location = string.format('%s/node_modules/@vue/typescript-plugin', pwd()),
        languages = { 'javascript', 'typescript', 'vue' },
      },
    },
    preferences = {
      includeInlayParameterNameHints = 'none',
      includeInlayParameterNameHintsWhenArgumentMatchesName = false,
      includeInlayFunctionParameterTypeHints = false,
      includeInlayVariableTypeHints = false,
      includeInlayPropertyDeclarationTypeHints = true,
      includeInlayFunctionLikeReturnTypeHints = true,
      includeInlayEnumMemberValueHints = true,
      importModuleSpecifierPreference = 'non-relative',
      organizeImportsIgnoreCase = 'auto',
      organizeImportsCollation = 'ordinal',
      organizeImportsCollationLocale = 'en',
      organizeImportsNumericCollation = false,
      organizeImportsAccentCollation = true,
      organizeImportsCaseFirst = false,
      quotePreference = 'auto',
    },
  },
}