Upvoted. Spot on. It's nowhere near as dynamic as a basic dynamic language. So much so that I just don't bother with dynamic in C# (I also don't bother with nullable types and a load of other features as well but that's another story).
However, I don't find that a problem. I tend to prefer the correctness of statically typed languages these days.
http://wekeroad.com/2010/08/09/csharps-new-clothes/
In case you plan on skimming that and missing the details the tl;dr is that Rob, pushes `dynamic` as far as he can and it still comes up far short of the extensibility and expressiveness of Ruby constructs.