I previously reported this as bug 386 in 2008 and since then there's been an interesting development.
Briefly, when two objects are rendered in a figure the second one is always displayed in front of the first one regardless of their true spatial locations.
Developments:
Version 4.1.1 - the on screen render is correct but not the saved/exported renderings
Version 4.2 - both the on screen and saved/exported renderings have the cited bug
Speculations:
1) Seems like what was fixed in 4.1.1 was not carried over to 4.2 or to save/export.
2) Also the bug was previously reported for 'patch' but the same problem exists for 'surface' so the problem likely involves common code.
Attached are some example outputs with code as a pdf. Hope this helps a bit in tracking the errant code.