The exchange he was using was the first one on your list of good reputation exchanges. So the instead of saying trust this or that exchange it should be said to trust no exchange and as soon as you can to get your coins into your custody. Glad that you were able to remedy the situation I'm sure that was a very stressful thing to have happen.
Yes, you are correct on all.
And it was a very stressful and helpless moment. At the time when I was trying to get into my account, 4 times had already tried, so only one try away from my account being locked. And once it is locked I would not be able to get any help because they would not reply to my email nor I can submit a help ticket because US customers are no longer served. Moreover, even after I successfully reset my password and regained my account, I still need to find solutions to move my coins out. At that time, I was so stressed out, but I still need to search for solutions and learn how to implement my solutions with different wallets and tools.
Before I figured out where to move most of the coins to, I was also worry that if the exchange would not let me withdraw, if the phone which has the Google Authenticator installed broke for good (since the battery on that phone is bulged), and if the hacker will strike again before I moved my coins out. I was also racing against time.
Last night I just realized that I could use VPN to set up a new account from the same exchange, move my coins there, immediately convert them to BTC or ETH, and transferred the BTC out to other accounts, ie, a hard wallet. This would be the easiest way. Even though doing so may also incur some potential risks.