The article is slightly wrong. The TDZ is the zone before the variable is declared, not after. Referencing variables before they're declared isn't valid for `let` and hence it needs a TDZ check.
Consider
console.log(foo)
let foo
vs console.log(foo)
var foo
I think the article confuses "in scope" with "declared", and "declared and initialised" with "initialised".