Right, so you are seeing the expected behavior.
It sounds like in 3x you are bringing in all the layers as a ArcGISDynamicMapServiceLayer (which will take the MapServer as input, and thus all the layers), and in 4x you only bring in one layer as a FeatureLayer (which takes one layer from the MapServer as input). So if you used a MapImageLayer in 4x (which will take the MapServer as input, and thus all the layers) then you will see the exact same behavior in 3x and 4x.
Does that make more sense?