Yes ArcGISDynamicMapServiceLayer doesn't support spatial filters. We might imagine to create a custom layer that would clip the image returned by the server but that seems convoluted.
Else the built in solution is to use FeatureLayers with a geometry filter, but, as noticed, this means you have to create separate layers by sublayer ID and this means the features are loaded at client which can impact the performances.