You’d have to be somewhere in the route from A to B to intercept it. But TCP is no different in that regard.
TCP is connection based so both sides need to agree to connect before data is exchanged. UDP is connectionless, so it will send data from A to B (and vice versa) regardless of if the other side is available.
What do you mean interception is at a different layer? You can capture at any layer as long as the payload isn’t encrypted, and if it is, you still get layers 1 through 4 (Physical, Link, Network, and Transport).