Синтаксис, который вы используете, правильный, но, как говорится в сообщении об ошибке, значение должно быть постоянной времени компиляции.
Постоянная времени компиляции не имеет смысла для DateTime.now()
.
В качестве обходного пути вы можете использовать:
/// Returns `true` is still going on.
///
/// [date] the date to check.
/// as default value `DateTime.now()` is used
/// if no value or `null` was passed.
bool isOnGoing([DateTime date]) {
date ??= DateTime.now();
...
}