Свойство length в списках возвращает количество элементов в списке. В вашем примере вы вставляете только два значения (из-за условия), поэтому длина 4 не будет иметь смысла и создаст проблемы, когда вы, например, захотите перебрать список.
Однако вы можете добавить нулевые элементыесли условие ложно, например:
void main() {
List<String> list = [
'first',
'second',
(false) ? 'third' : null,
(false) ? 'fourth' : null,
];
final listLengthIncludingConditions = list.length;
list.removeWhere((x) => x != null);
print('Number of possible elements in list: $listLengthIncludingConditions'); // 4
print('Number of elements in list: ${list.length}'); // 2
}
Затем можно сохранить длину и удалить нулевые элементы.