Terminology nitpick: tenner.toInt() is a conversion. A cast would be tenner as Int.
The difference is that a conversion creates a new object of the required type (if needed), while a cast promises the compiler that the value is already of the required type (and will throw a ClassCastException if it’s not).
(I think the confusion arises because some languages, such as C, blur the distinction, using the same syntax for both. Even Java performs numeric conversions using its cast syntax. But Kotlin is much more explicit about these things — which prevents some types of bug. So it’s good to be clear about the difference.)