I think it is not doable with factor 2, yet it is doable with factor 3 plus a constant -- so factor 4 is there for safety I guess.
I am not trying to suggest a proof, but an intuition:
The machine $\widetilde{M}$ encodes each letter $\gamma$ in $\Gamma$ as a binary number whose length is $log(|\Gamma|)$. Now in order for $\widetilde{M}$ to simulate a step of $M$ (assume that $M$ is in state $q$, about to read $\gamma$, and its transition function specifies that $\delta(q, \gamma) = (q, \gamma', R)$, where $\gamma'\neq \gamma$), the machine $\widetilde{M}$ needs to:
1- Read the current letter $\gamma$ that the head of $M$ points to, and remember it: this takes about $log(|\Gamma|)$ steps as we need to make a pass over $\gamma$'s description.
2- Now $\widetilde{M}$ needs to write $\gamma'$ instead of $\gamma$, which also takes about $log(|\Gamma|)$ steps. Note that we do here is write $\gamma'$ backwards instead of moving left to the beginning of $\gamma$'s description before writing $\gamma'$. The latter allows us to modify $\gamma$ to $\gamma'$ while doing only one pass over $\gamma$'s description.
3- Finally, since $\widetilde{M}$'s head needs to move back one letter right to $\gamma'$ as specified by $M$'s transition function, we actually need to perform more $log(|\Gamma|)$ steps.
In the worst case, we need to at least read the current letter (one pass), modify it (another pass), and update the head's position (a final pass). So we make in total three passes to simulate a single step of $M$. Note that it is not possible to do it with a factor of 2 (2 passes) as reading $\gamma$, modifying it to $\gamma'$, and updating the head (this is what you missed) requires at least 3 passes to in the worst case.
Notes:
1- The used model and the input's encoding make a difference when you seek an exact expression. So I think we lack context here. For example, when you make a pass you may step on the cell between two consecutive letters of $M$, and then you need to move the head to an adjacent cell, which gives you an additional 1-2 steps, but if you use a machine with a head that can stay at the same cell upon performing a transition then it might differ a bit. Anyway, note that (assuming adjacent letters have no separating tape cells) you can try to use the state-space of the machine to reduce/avoid these additional steps, for example, by holding a counter whose value is at most $log(|\Gamma|)$. So a careful analysis requires us to know the model we use, the encoding of the input, and whether we need to perform minor optimizations -- the main point here that I want you to get is that we need at least 3 passes, and we can do it with exactly 3 passes, and I leave the implementation details to you.
2- Again, we lack context here. Given the answer suggested by you in the question's body, I assumed that the input of $\widetilde{M}$ is already in an appropriate format. If not then that needs to be clarified in the question's body -- different input encodings induce different runtimes. Anyway, I think I gave you the intuition you needed and the crux behind $\widetilde{M}$'s operation.