Should drainage pipe behind a retaining wall only have holes on the top?
Counterintuitively, you usually want the holes in drainage pipe to point down, not up. This way, water from below can get forced up into the pipe from underneath, which then has a low-resistance path to flow away. If you install a pipe that only has holes on top, the pipe will want to float on top of whatever water is there, until the water level covers the entire pipe.
Water flowing down from above the pipe will only flow into a pipe with upward facing holes if it happens to flow directly down into the holes, which isn't likely. What actually happens is that the water pools in the lowest spot (which is where you should have your drainage pipe), and as that water level rises to the bottom of the pipe, downward-facing holes allow the pipe to carry the water away. If you have upward-facing holes, the pipe can't really do anything until the water level is above the top of the pipe.
It sounds like your contractor has the right plan - a fully perforated pipe, or one with holes on the bottom, is the way to go. Installing a drainage pipe with only holes on the top is usually incorrect.