On the line
self.gradInput = self.modules[0].updateGradInput(input, currentGradOutput)

the only list that I can see is self.modules.
The error suggests that this list is empty. If that is the case then your legacy sequential has no registered submodules and updateOutput acts like the identity mapping.