Conditionally required fields not working

I followed this guide: Adding Required Field Logic :: SuiteCRM Documentation

My vardef file is located in and I did do a quick repair.:
public/legacy/custom/Extension/modules/Opportunities/Ext/Vardefs/procurement_id_c.php

Contents of file:

<?php

$dictionary['Opportunity']['fields']['procurement_id_c']['logic'] = [
    'procurement_id_c_required' => [
        'key' => 'required',
        'modes' => ['edit', 'create'],
        'params' => [
            'fieldDependencies' => [
                'sales_stage',
            ],
            'activeOnFields' => [
                'sales_stage' =>  [
                    'proposal_submitted',
                    'contract_being_prepared',
                    'contract_sent',
                    'contract_signed',
                    'delivering',
                    'maintenance',
                    'Closed Won',
                    'Closed Lost',
                ],
            ],
        ],
    ],
];

Field is added via studio:

Visually in interface field is not required when changing sales stage:

Values of sale stage field:

My sales stage has custom values except “Closed Won” and “Closed Lost”. Regardless of which sale_stage I select the procurement_id_c doesn’t get set as required. Any tips?

Additional info:
Suite CRM version 8.8.0
Site is in debug mode
No errors in console
No related errors in suitecrm.log

There are other fields that use similar conditions (in case it’s useful info)

Other fields

does not work public/legacy/custom/Extension/modules/Opportunities/Ext/Vardefs/amount.php

<?php

$dictionary['Opportunity']['fields']['amount']['logic'] = [
    'field_required' => [
        'key' => 'required',
        'modes' => ['edit', 'create'],
        'params' => [
            'fieldDependencies' => [
                'sales_stage',
            ],
            'activeOnFields' => [
                'sales_stage' =>  [
                    'proposal_submitted',
                    'contract_being_prepared',
                    'contract_sent',
                    'contract_signed',
                    'delivering',
                    'maintenance',
                    'Closed Won',
                    'Closed Lost',
                ],
            ],
        ],
    ],
];

does work
public/legacy/custom/Extension/modules/Opportunities/Ext/Vardefs/lost_reason_c.php

<?php

$dictionary['Opportunity']['fields']['lost_reason_c']['logic'] = [
    'hide_on_name' => [
        'key' => 'displayType',
        'modes' => [
            'detail',
            'edit',
            'create',
        ],
        'params' => [
            'fieldDependencies' => [
                'sales_stage',
            ],
            'targetDisplayType' => 'none',
            'activeOnFields' => [
                'sales_stage' => [
                    [
                        'operator' => 'not-equal',
                        'value' => 'Closed Lost',
                    ],
                ],
            ],
        ],
    ],
    'field_required' => [
        'key' => 'required',
        'modes' => ['edit', 'create'],
        'params' => [
            'fieldDependencies' => [
                'sales_stage'
            ],
            'activeOnFields' => [
                'sales_stage' => [
                    [
                        'operator' => 'is-equal',
                        'value' => 'Closed Lost',
                    ],
                ],
            ],
        ],
    ],
];

works partially (I wanted it to be visible and required only if lost_reason_c is visible and value selected is “other”)
public/legacy/custom/Extension/modules/Opportunities/Ext/Vardefs/lost_reason_other_c.php

<?php

$dictionary['Opportunity']['fields']['lost_reason_other_c']['logic'] = [
    'hide_on_name' => [
        'key' => 'displayType',
        'modes' => [
            'detail',
            'edit',
            'create',
        ],
        'params' => [
            'fieldDependencies' => [
                'lost_reason_c',
                'sales_stage',
            ],
            'targetDisplayType' => 'none',
            'activeOnFields' => [
                'lost_reason_c' => [
                    [
                        'operator' => 'not-equal',
                        'value' => 'other',
                    ],
                ],
                'sales_stage' => [
                    [
                        'operator' => 'not-equal',
                        'value' => 'Closed Lost',
                    ],
                ],
            ],
        ],
    ],
    'field_required' => [
        'key' => 'required',
        'modes' => ['edit', 'create'],
        'params' => [
            'fieldDependencies' => [
                'lost_reason_c',
                'sales_stage',
            ],
            'activeOnFields' => [
                'lost_reason_c' => [
                    [
                        'operator' => 'is-equal',
                        'value' => 'other',
                    ],
                ],
                'sales_stage' => [
                    [
                        'operator' => 'is-equal',
                        'value' => 'Closed Lost',
                    ],
                ],
            ],
        ],
    ],
];