This is because Transform.LookAt() is quite different from Transform.Translate() and Transform.Rotate().
Rotate() and Translate() are sort of incremental. They take the existing coordinate system and modify it a little bit.
LookAt(), on the other hand, is not incremental at all, it is absolute. It completely disregards the previous rotation of the coordinate system, and sets it anew. So LookAt() after Rotate() completely destroys what Rotate() did.