Just skimming through your code I’ve seen that some conv layers use a stride of 2 and the padding option same.
Could this issue 6 be related to the problem?
Apparently the “same” padding works differently for different backends in Keras.
If you can provide a small executable code snippet, I could help debugging the issue.