If it helps, there is no concept of transpose in ITensor (similar to how there is no such concept in tensor diagrams). You can take the Hermitian conjugate of an ITensor, but this just does two things: (1) complex conjugate all of the elements and (2) reverse the arrows on the indices. (If you aren't conserving quantum numbers you don't have to pay attention to the arrows, so ignore that part if it doesn't apply to you.)
So then the only thing that controls which indices contract and don't contract is whether the indices "match" or compare equal. The order in which they appear on the ITensor does not matter. As you may know, indices compare equal if they have the same id number (you can see the id in the printout or by calling the function `id` on an Index) and if they have the same prime level and tags.
So then I would encourage you to draw a diagram of your contraction with these above rules in mind and maybe it could help?
If the contraction isn't doing what you want, in ITensor it is because the wrong indices are matching with each other, or indices you wanted to match are not matching etc.
Sending us a figure is a good idea, but the best way to do it would be to post it at another link and then give the link here.