I finally managed to figure it out. Parcel will ignore most issues on Typescript files unless you manually add a validator to .parcelrc. I don't know why that is the case, as I would expect it to behave, by default, the same way the rest of node does.
Anyway, what you need to do is to add this to .parcelrc:
"validators": {
"*.{ts,tsx}": ["@parcel/validator-typescript"],
}