Yes, of the languages I've tried, C# and Obj-C/Swift have been the ones that did this best. I'm looking for a functional language with a similar approach, but haven't really found any, so failing that, I'll go with a fully statically typed language instead - I'm considering whether to get started with Haskell, Scala or Ocaml/Reason.
Try F# my man. In my experience its the best option for a statically typed functional language if you want to actually get stuff done and not just dick around. Also as you're coming from C# it would be the logical choice since the tooling is all there and you're already familiar with it. Visual Studio Code + Ionide plugin is what I use. I really don't understand why F# isn't more popular. Maybe it has something to do with its Microsoft roots making it uncool among the hip functional crowd?
If you like C#, have you tried F#?
Check out Kotlin, it might meet your criteria.
Haskell's compiler can defer type errors to the runtime. You can run your partially checked code.
Yes, I believe in most cases "dynamic" is evil in but in some cases it's very useful so I am happy to have it when I need it.