Hi Massimo,
When we've integrated with Azure Search we've had 'dev' search indexes setup that all developers can connect their local instances to. You can create multiple indexes in a Search service as long as the indexes have different names.
If you take this approach, make sure you don't Stage/Sync changes to the Search index definition in Kentico to the next environment, as that would cause issues.
Yes, this doesn't allow for a completely offline development experience, but that's the nature of abstracted cloud services. Some of Azure's services allow for local emulators / runtimes (CosmosDb, Functions, Storage Accounts) but that's not the case with all services.
There is a definite cost that comes along with using Azure Search, both for a development index and the production service. Is that cost worth the improved feature set and offloading the Search indexing to an external service? That's up to you.
As to whether it is difficult to switch back and forth between Kentico's built-in Smart Search and Azure Search - yes this isn't going to be simple. You will need to abstract away the Azure Search SDK (which is used to query the search index) and Kentico's Search APIs and make a common abstraction that your code works against. In addition to this abstraction you are going to have to figure out what to do with any features available in Azure Search that aren't available in Kentico's Smart Search (like faceted searching).