Replica count is not changed and sometimes indices are not deleted

Hello all,
I have the following ISM policy.

{
    "id": "hot_warm_delete_bar_secure",
    "seqNo": 2531571,
    "primaryTerm": 1,
    "policy": {
        "policy_id": "hot_warm_delete_bar_secure",
        "description": "Changes indices from hot to warm and then to delete. Two weeks in hot and 6 in warm.",
        "last_updated_time": 1656327877335,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "warm",
                        "conditions": {
                            "min_index_age": "7d"
                        }
                    }
                ]
            },
            {
                "name": "warm",
                "actions": [
                    {
                        "replica_count": {
                            "number_of_replicas": 0
                        }
                    },
                    {
                        "timeout": "24h",
                        "retry": {
                            "count": 5,
                            "backoff": "exponential",
                            "delay": "1h"
                        },
                        "warm_migration": {}
                    }
                ],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "49d"
                        }
                    }
                ]
            },
            {
                "name": "delete",
                "actions": [
                    {
                        "timeout": "24h",
                        "retry": {
                            "count": 5,
                            "backoff": "exponential",
                            "delay": "1h"
                        },
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": []
    }
}

For each index, I have 6 total shards, 3 primary and 3 replica across a cluster of 3 master nodes, 3 data nodes and 2 ultrawarm nodes.
I would like to reduce the replica count to 0 when the transition happens from hot to warm but with the above policy, it’s not changing the replica count. I still get 6 total shards in ultrawarm nodes.
Also, I sometimes face the issue that the indices remain more than 49 days in warm state.
I have weekly indices, so the week number at the moment is 29(2022.29) but I still have indices from the week 21(2022.21).
Could someone help me understand what am I doing wrong here?

I have a similar situation in our second cluster where we don’t have ultrawarm nodes and the policy doesn’t have replica count action. I haven’t seen any problem there.