Best Way to Optimize MySQL / MariaDB for 250M Row Table on a 64GB 16 core Machine
Yes, data should be cleansed before inserting.  (Apparently, you are belatedly doing the cleansing.)
This may help:  DROP INDEX on phone_num while cleaning up the numbers.  ADD INDEX after finished.
Do the UPDATEs in chunks.  http://mysql.rjweb.org/doc.php/deletebig#deleting_in_chunks  Chunk based on the PRIMARY KEY; check for errors; chunksize only 1000.
It would take some code, but you might benefit by having 16 (a la 16 cores) connections, each working on chunks of the UPDATE.  (Don't expect more than 8x improvement; might not get even that much.)
Please provide more details if you want to discuss further.