Yeah, that's nonsense.
The mismatch issue is just poor DBA management -- that will happen with CHAR, too.
The conversion at lower length doesn't matter.
And MySQL 5 support VARCHAR up to 65k, so there's no need to get into TEXT/BLOB hell for >255 anymore.
Yes, if most of your data is taking up most of the VARCHAR space, then you don't get any benefit from the variable length aspect, and don't bother. But in the real-world, it's impossible to know.
Also -- and the blog neglected to mention this -- if you have even one variable-length field in your table, you won't get any benefit from the fixed-width ones. In fact, I'm fairly certain that they get converted to VARCHAR without even asking you.