In the transaction that you linked to in your question, the person call a function
swap() directly on the pair contract. The code of the pair contract is public (verified). So, in that case, yes you can see exactly what the public contract did when called.
However, calling the
swap() function on a pair directly is a very bad way of doing arbitrages and it is actually the first time that I see that. Normally, the arbitrageur will call a function on a custom contract that is not public (verified). In that case, you cannot know what the custom contract is doing exactly and can only see the final result.
EDIT: After looking carefully at the transaction above, it is in fact indirectly using a custom contract that is not verified, so it is very hard to know what was done exactly by that custom contract.