ESLint not checking Typescript errors in VueJS 2 class-based components

This is my eslintrc.js:

module.exports = {
  root: true,
  env: {
    node: true
  },
  plugins: ['@typescript-eslint', 'prettier'],
  extends: [
    'plugin:vue/essential',
    'eslint:recommended',
    '@vue/typescript',
    '@vue/typescript/recommended',
    '@vue/prettier',
    '@vue/prettier/@typescript-eslint'
  ],
  parserOptions: {
    ecmaVersion: 2020
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    quotes: ['error', 'single', 'avoid-escape'],
    semi: ['error', 'always'],
    '@typescript-eslint/interface-name-prefix': 'off',
    '@typescript-eslint/no-non-null-assertion': 'off',
    '@typescript-eslint/explicit-module-boundary-types': 'off',
    '@typescript-eslint/no-explicit-any': 'off',
    'prettier/prettier': 'error',
    'vue/valid-v-slot': [
      'error',
      {
        allowModifiers: true
      }
    ]
  },
  overrides: [
    {
      files: ['**/tests/unit/**/*.spec.{j,t}s?(x)'],
      env: {
        jest: true
      }
    }
  ]
};

I start it via vue-cli-service lint. Typescript errors in Vue templates get picked up but ones in the classes don’t. Prettier errors all get picked up, regardless where. My Intellij IDEA also picks up Typescript errors in the components, so I assume my tsconfig is configured correctly:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "jsx": "preserve",
    "importHelpers": true,
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "sourceMap": true,
    "baseUrl": ".",
    "types": [
      "webpack-env",
      "jest"
    ],
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx"
  ],
  "exclude": [
    "node_modules",
    "tests/cypress/**/*"
  ]
}

I also do have these dev dependencies (among others, ignored here):

    "@typescript-eslint/eslint-plugin": "^4.18.0",
    "@typescript-eslint/parser": "^4.18.0",
    "@vue/cli-plugin-babel": "^5.0.7",
    "@vue/cli-plugin-eslint": "^5.0.7",
    "@vue/cli-plugin-typescript": "^5.0.7",
    "@vue/cli-service": "^5.0.7",
    "@vue/eslint-config-prettier": "^6.0.0",
    "@vue/eslint-config-typescript": "^7.0.0",
    "eslint": "^7.32.0",
    "eslint-loader": "^4.0.2",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-vue": "^7.20.0",
    "prettier": "^2.7.1",
    "typescript": "~4.4.4",
    "vue-cli-plugin-vuetify": "^2.0.7",
    "vue-eslint-parser": "^7.11.0",
    "vue-template-compiler": "2.7.10",

But then what might be the problem? Is there an example ESLint setup for Vue2 typescript based classes somewhere? Nowadays I can only find Vue 3 references