I am on Wheezy right now and can confirm this behavior (same version of the package). "/bin/sh" links to "/bin/dash", which also completes non-.sh files like bash. I think both "/bin/sh" and "/bin/dash" should have the same completion behavior because they're the same executable.
I'd imagine the behavior is different because upstream did not want to assume that "sh" links to "dash". This is a bit of a side question, but would it be a good idea to make "sh" use the same completion as "dash" on Debian? Sincerely, Aditya Vaidya