Выдержки из ссылки на документацию в вопросе:
Обработка явных значений по умолчанию с MySQL 8.0.13
Значение по умолчанию, указанное в DEFAULTПредложение может быть литеральной константой или выражением.За одним исключением, заключите значения по умолчанию для выражений в скобки, чтобы отличить их от значений по умолчанию для константных литералов.
[…]
Обработка явных значений по умолчанию до MySQL 8.0.13
За одним исключением, значение по умолчанию, указанное в предложении DEFAULT, должно быть литеральной константой;это не может быть функция или выражение.Это означает, например, что вы не можете установить по умолчанию для столбца даты значение функции, такой как NOW () или CURRENT_DATE.Исключением является то, что для столбцов TIMESTAMP и DATETIME вы можете указать CURRENT_TIMESTAMP в качестве значения по умолчанию.
Поэтому, когда поддерживается, используйте круглые скобки:
CREATE TABLE foo (
what_time TIME NOT NULL DEFAULT (CURTIME())
);
Demo