As you say, these are guidelines, designed to help people get a rough idea of cluster sizing and avoid common mistakes. They're likely based on experience of different workloads with different Elasticsearch versions, and I'm sure you can refine them for your specific case with careful benchmarking. There is no straight answer to the question of cluster sizing.
You typically want fast and expensive storage for your hot nodes, so keeping them smaller makes more economic sense, but warm nodes can be larger. Our managed service targets a 1:160 ratio for warm nodes. If you have a 30GB heap then the 20-per-GB ratio limits you to 600 shards per node, which at 30GB per shard is 18TB. If you have 128GB of RAM and target a 1:160 ratio then that's 20TB. That's close enough for this kind of rough guideline IMO.
I think that's within the error bounds.
Yes of course, there are many other factors that this kind of guideline doesn't take into account.