If you want Alexa to run locally, you have a very limited set of devices you can use. You have to start with an echo device that has a built-in zigbee hub, such as the Show 2nd or 3rd generation (but not the Show 5) or the Echo Plus. Then there are a few zigbee bulbs, switches, and plug in pocket sockets that can be joined directly to that echo device. But it’s not very many, and it’s not a lot of commands available.
Otherwise, Alexa itself will always require a cloud connection. That is true of most other voice assistance as well, including Google home and Siri. Voice processing is just a very computationally heavy feature, and it’s much more efficient to do it in the cloud.
Setting voice options aside, there are several Home automation platforms that run locally after initial set up. Apple’s HomeKit is an obvious choice. (I myself prefer echo for voice processing, so I buy devices that work with both Alexa and HomeKit.) but there’s also vera, Hubitat, Homeseer, Indigo, etc.
But in all of those cases you are going to have fewer devices to choose from than with smartthings. The cloud is what enables a lot of integrations for devices using different protocols, including manufacturer – proprietary ones. So it comes down to what your own priorities are.