This is correct behaviour as Keras by default sets the dynamic batch size to true.
So, your model input shape is [*,28,28] not [1,28,28] and bez of that during quantization extra layers are added which are shape, strides slice layers and pack resulting and those operations are always int32 outputs.
A simple input static shape set should be okay to solve this issue.
Thanks,
Sandeep Singh