This should not be the case:
conv = nn.ConvTranspose2d(1, 3, 4, 2)
x = torch.randn(1, 1, 15, 27)
out = conv(x)
print(out.shape)
> torch.Size([1, 3, 32, 56])

You could also define the parameters of your transposed convolution for each spatial dimension separately, if needed.