Насколько я вижу, в первом варианте, lookupDismissalReasonsByGroup - это функция (1), которая возвращает функцию (2), которая возвращает функцию (3)
И в
массиве объектов поле options - это результат вызова (1), т.е. (2)
Затем в строке
const options = this.field.options(this.currentValue, this.value)
вызывается (2) и в options записывается (3)
В случае же второго варианта lookupDismissalReasonsByGroup получается совершенно такая же по вложенности функций. Но в
массиве объектов теперь в поле options - не результат вызова (1), а другая функция (0), которая внутри себя вызывает (1) и возвращает её результат (2)
И получается, что далее в
const options = this.field.options(this.currentValue, this.value)
вызывается (0) и в options записывается (2), т.е. не та же функция, как в первом примере