Presumably FindMinimum can call IPOPT more than once, each time with a problem corresponding to one of the Or'd constraints.
I frequently use IPOPTLink but it won't handle Or constraints, so I'm puzzled that FindMinimum can, with Method -> "IPOPT: