When a table becomes empty after an instant ADD COLUMN operation, it would be converted to the canonical format.
If the added columns had long DEFAULT values, these values can be stored off-page. These pages would not be freed when the table becomes empty.
It appears that btr_free_but_not_root() or similar should be executed in order to mark the BLOB pages freed. Otherwise, the space for the BLOB pages would not be released until the table is dropped or rebuilt.