detail.showイベントだとDOM構造が変わり、childrenで各行にtable-cellを適用しているようです。
恐らく以下の形で可能です。
(() => {
'use strict';
let fieldElement = ['value-5540537', 'value-5540538','value-5540543'];
kintone.events.on([
'app.record.detail.show', 'app.record.create.show', 'app.record.edit.show'
], (event) => {
let isDetail = event.type.match(/detail/);
for (let i = 0; i < fieldElement.length; i++) {
let textarea = document.getElementsByClassName(fieldElement[i])[0];
let height = isDetail ? textarea.clientHeight : textarea.firstChild.firstChild.clientHeight;
let row = textarea.parentNode.parentNode;
[...row.children].forEach((field) => {
if (!field.getElementsByClassName('control-value-gaia').length) return;
[...field.getElementsByClassName('control-value-gaia')[0].children].forEach((el) => {
if (el.parentNode.parentNode.className.match('control-multiple_line_text-field-gaia')) return;
if (el.className === 'input-text-outer-cybozu') {
el.firstChild.style.display = 'table-cell';
el.firstChild.style.verticalAlign = 'middle';
el.firstChild.style.height = `${height}px`;
} else if (el.className === 'userselect-cybozu') {
el.parentNode.style.display = 'table-cell';
el.parentNode.style.verticalAlign = 'middle';
el.parentNode.style.height = `${height}px`;
} else if (el.className === 'input-file-cybozu') {
el.style.display = 'table-cell';
el.style.verticalAlign = 'middle';
el.style.height = `${height - 29}px`;
} else {
el.style.display = 'table-cell';
el.style.verticalAlign = 'middle';
el.style.height = `${isDetail ? (height - 8): (height - 6)}px`;
}
});
});
if (isDetail) textarea.firstChild.style.wordBreak = 'break-word';
}
return event;
});
})();