Тут проблема не совсем с external сервис-таском. На обоих стендах lockDuration по 3 минуты. Особенность в том, что суб-процесс полностью состоит из коннекторов и скрипт-тасков. А они выполняются как одна транзакция (не знаю как правильно описать это поведение, но в них токен не останавливается как-будто). И поэтому мне видится следующая ситуация: мы шлем запрос external-task {id} complete, камунда берет в работу коннектор, не может перевести на него токен, поэтому выполняет работу по коннектору и берет следующую задачу, там скрипт-таск - на него тоже нельзя перевести токен и т.д. В какой-то момент камунда понимает, что прошло уже продолжительное время, а токен так и не сдвинулся, поэтому отвечает на запрос external-task {id} complete, отправленный нашей системой ранее, ошибкой 500. Но все это время работа выполнялась. Если в вереницу этих коннекторов и скрипт-тасков добавить юзер-таск или другой сервис-таск (в общем таск, где может остановиться токен), то этот БП заработает как ожидалось.