Yes, nn::sequential  already requires each module to have a forward implementation, and calls the forward functions in a sequence that they have added in. So, one cannot create an ad-hock non-usual forward  pass like Dense-Net with that, though it is good enough for general usages.
BTW, thanks for the new link, it was interesting to see the actual implementation of nn::sequential.