esbuild parses TypeScript and removes the types. It does not build a program, does not read most of compilerOptions, and cannot report a type error. A build succeeds with code that tsc would reject outright, which is the main reason a project using esbuild still needs tsc --noEmit as a separate step.
Because each file is transformed in isolation, esbuild also cannot know whether an imported name is a type or a value. This is exactly the constraint isolatedModules describes, and it is why a re-export of a type without export type produces a runtime error about a missing export rather than a build failure.
The options esbuild does honor from tsconfig are the ones that change emit: jsx and its factory settings, target when not overridden, experimentalDecorators, useDefineForClassFields, paths, and baseUrl. Everything else, including strict, is invisible to it. Treat esbuild as a fast emitter and keep type safety in a checker that actually runs one.