ts-node に --files オプションを付けたらいけました。
ts-node --files src/foo.ts
こちらが --files オプションの説明
--files Load `files`, `include` and `exclude` from `tsconfig.json` on startup
オプション指定しなくても tsconfig.json に書かれたパスを見にいってくれるものだと思っていましたが、明示的にオプションを付ける必要がある、ということでした。