One solution is to use an import map on the Deno side to map your extensionless imports to the corresponding files, but this only works when you control the Deno command line arguments (so not for libraries you plan to publish for others to use).
It’s unfortunate because, other than this huge problem, Deno is the best TypeScript runtime I’ve found.