What I read is that the writer must make the description available through unspecified means, while the reader must ensure description and description_hash match. That's two distinct things.
The problem here is to know how the reader can get knowledge of the description. According to LUD06, that's the job of the LN wallet (https://github.com/lnurl/luds/blob/luds/06.md?plain=1#L108). Per this two pieces of specification, a LN wallet should pass the LNURL metadata as description to the underlying Lightning node when trying to pay the invoice.
Not saying it's good or not, just pointing out that this is the direct consequence of how the specifications are phrased.