What happens to an insert when a mysql(innoDB) table is being altered(locked)?
What version of MySQL are you using?

Have you considered ALGORITHM=inplace and LOCK=none in your ALTER TABLE statement?

See also Using the LOCK clause to control concurrency