Sorry, cannot write a comment, so I post it as (incomplete) answer:
Should be possible to check .ActiveVar(index)
and to set .NextVar(index)
https://or-tools.github.io/docs/pdoc/ortools/constraint_solver/pywrapcp.html#RoutingModel.NextVar
And .OnlyEnforeIf()
can alternatively also be expressed as Boolean or LP formulation.