About point 1, there is no way as the definition of maxunpool needs the indices.
About second point, you can get the indices. You need to define a class on top of the pretrained model and change the line in the forward function to return indices too. It won’t hurt the weights as pooling layers do not have any parameters. (you already have encoder so it is possible.)
Concerning point 3, ConvTranspose2d 6 may be able to help you but still it needs training and may not perform well.
As you have access to encoder and maxpooling layers, the easiest way still is to use indices.