Server reports the progress for "copy to tmp table" step of the ALTER TABLE as "number of records copied" / "total number of records as reported by the engine".
In some engines this second number (total number of records) is only an estimation and may be less than the actual number of records. In this case the progress report will go over 100%. This is confusing for users and might break tools that don't expect that.
As we cannot fix the estimation in engines, the server should limit the reported progress value never to be larger than 100%.