Transfer-only (done right) keeps it hidden since it guarantees you don't attack with your own stack until you're ready to do so.
How is it done right? I still can't understand. What I imagine:
Land 1 is Foe's pocket.
Land 2 is You's, one of your lands that surrounds the pocket.
Land 3 is also You's, somewhere that doesn't have a border with the Foe and where the stack would be.
L1 tied to L2 tied to L3.
The command: Foe attacks L2; You transfer-only to L2 from L3.
Case 1: Foe goes first. In that case, the Foe takes L2 and sees your stack at L3, which won't do anything now that the Foe has taken L2.
Case 2: You go first. The stack goes to L2, and your Foe hits it, hopefully not breaking it.
In either case how is it hidden?