Opensearch life cycle management for docs over 30 days

2.16 (relevant - OpenSearch/Dashboard/Server OS/Browser):

Describe the issue:
I want to maintain the lifecycle management of an elastic search or opensearch doc over x days. _delete_by_query api help with the job, however i understand this also comes with some performance impact on query/read on delete of large data set, add segment merging to it. What is the best way to accomplish this. Would rollover be a better option here ? Incase i have to maintain the state of the doc for 90days or over, would reading from multiple indexes, over large data and aggregation have not impact.

_delete_query_api Index State Management

Configuration:

Relevant Logs or Screenshots: