Could you test the PyTorch and ONNX model with a constant input, e.g. torch.ones, and check if the result still differs?
If not, I guess the preprocessing of the input data might be different, which would also change the model outputs.