They’re not. Cross entropy loss is E[-log q] where q is a probability. You could convert the model outputs x into probabilities using some other function like q = 1/Z x^2, and compute cross entropy loss just fine.
It's true that the PyTorch API conflates cross entropy and softmax, but they are separate concepts.