Pytorch convolution input reshaping
Turned out to be a dumb question in the end - the noise vector is simply treated as a 1x1 array with "depth" (i.e. number of channels/features) of 100, which can of course be processed by the ConvTranspose2d layer. This reshaping to 1x1x100 just has to be explicitly specified as the first layer in keras:

model.add(Reshape((1, 1, 100), input_shape=(100,)))