Thanks, this worked (of course with a bit more safeguards)
vtkTrivialProducer* trivial =
vtkTrivialProducer::SafeDownCast(this->GetInputConnection(0, 0)->GetProducer());
Perhaps, the vtkPieceRequestFilter
could be extended to support pieces also for upstream sources not supporting pieces.