外部キー操作のオンライン DDL サポートは公式ドキュメントによると下記の通り。

操作 インスタント インプレース テーブルの再構築 同時 DML の許可 メタデータの変更のみ
外部キー制約の追加 いいえ はい* いいえ はい はい
外部キー制約の削除 いいえ はい いいえ はい はい

see. MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.12.1 オンライン DDL 操作

「インプレース:はい」となっているが、条件付きの「はい」であることに注意が必要。

INPLACE アルゴリズムは、foreign_key_checks が無効な場合にサポートされます。それ以外の場合は、COPY アルゴリズムのみがサポートされます。

ALTER TABLE tbl1 ADD CONSTRAINT fk_name FOREIGN KEY index (col1)
  REFERENCES tbl2(col2) referential_actions;

INPLACE 実行のために foreign_key_checks=0 で実行する

INPLACE アルゴリズムはforeign_key_checks=0の時に有効になるので、COPYアルゴリズムを嫌う場合は、外部キー制約チェックを無効化してから外部キーを追加すると良い。

外部キーの追加と削除操作はforeign_key_checksが無効になっている場合に即時に実行できます。それ以外の場合は、テーブルリビルド(ALGORITHM=COPY)のみがサポートされます。

foreign_key_checksとは外部キー制約の検査を有効、または無効にするためのシステム変数です。この変数をOFFにすることで、外部キーの制約を一時的に無視することができます。ただし、データの整合性が保証されなくなる可能性があるため、慎重に使用する必要があります。

ref. 第236回 MySQLで即時に完了するNative ALTER TABLE操作のまとめ | gihyo.jp