I want to agree unconditionally - especially because, as you note, the safety proof required for the first form is much higher as a result of it being a much broader and more powerful and thus potentially more edge-casey approach. Therefore it'll be more work to pitch. However, you then mention that Kotlin already does this - I know of Kotlin but am not that familiar with it; can you comment on how Kotlin does this and how well it's worked there?
The first approach implies a compiler mechanism with much broader implications, applications, and appeal (e.g. it probably ties in naturally if not as a prerequisite to constrained types and many other powerful language enhancements). If it does end up being implemented for those reasons, having a redundant if let optional { syntax - while not the end of the world - is, well, redundant.
Bikeshedding: I'm not sure I agree that the let number reads better than number != nil (though I'd get used to either form in practice, I'm sure). It's just that in plain English "if let number" is not a sentence, and it leaves the reader hanging with the natural question "if let number what?".