Best way to migrate data from mongoDB to elastic

Bulk API allows to perform operations on different indices:

POST _bulk
{ "index" : { "_index" : "test1", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test2", "_id" : "2" } }
{ "create" : { "_index" : "test3", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test4"} }
{ "doc" : {"field2" : "value2"} }

Each doc line is preceded by a metadata line that indicates the action and the target index.

If you mean the lag between the indexing is done vs when it is available for search, yes there is. There's a tradeoff between tuning for indexing speed and tuning for search speed.

You will need to check what your refresh interval should be, and the overall indexing strategy, depending on your data size and needs.

Bulk API is the most effective way of dealing with bulk changes and the way to go for your integration with change streams.

It would also be interesting to check this post with a discussion of multi tenancy implementation in Elasticsearch.