Is there any performance gain due to not setting a default for a new column in Mysql?
When adding a TINYINT column:


If specified as NULL:  1-bit NULL set; 1 byte is allocated or not allocated (depending on Engine and ROW_FORMAT)
NOT NULL: no bit for nullness; 1 byte allocated and filled in with the specified DEFAULT (or the default DEFAULT, which is 0 for TINYINT).


If the TINYINT is to be only a true/false flag, then it does not help to make it NULL.

ALTER TABLE takes time and may impact other processes.  Is the ALTER TABLE what you are worried about?

Bottom line:  The ALTER needs to fill in the byte, so you may as well let it do all the work for you.