Suppose I sample a matrix $h$ from $\mathbb{Z}_2^{l \times n}$ where each entry in $h$ is $1$ with probability 1/2. Suppose I also have a set $S\subset \{0,1\}^n$, and I define a random variable $X$ with $$\mathrm{Pr}\left[X = x \in S\right] = 1 / |S|.$$ The leftover hash lemma (from Lemma 2.1 of Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data by Yevgeniy Dodis, Rafail Ostrovsky, Leonid Reyzin, Adam Smith) states that if $$l \leq m - 2 \log_2(1/\epsilon) + 2$$ where $m$ is the min-entropy of $X$ (in this case, $m = \log_2|S|$) then the statistical distance between the distribution of $h(x)$ for $x \in X$ and the uniform distribution over $\{0, 1 \}^l$ is at most $\epsilon$.
Given that I sample $h$ as above, am I always guaranteed to have at most this statistical distance from the uniform? I ask because I've been reading a textbook that says something that seems in tension. Specifically, Theorem D.5 within Computational Complexity A Conceptual Perspective, Oded Goldreich says that there will be a fraction of the hash functions which won't satisfy the guarantee. Am I missing something here? Does the leftover hash lemma not apply for specific hash functions that I choose in the manner above, but only on average?
This answer seems relevant, and it makes me suspect that I'm misunderstanding what we're using to measure the statistical distance. In my mind, I thought the leftover hash lemma guarantees that the new variable $h(X)$ will be uniformly distributed over $l$ bits within that statistical distance. Is that not the case?