There isn't an easy way to sort the diff lines like so. Keep in mind that Vim does not know or care that the user lines are "sorted" nor is it immediately obvious to a diff algorithm how to do what you are showing because it's very dependent on the user intent. All Vim sees from the diff algorithm is "remove user2/user4 on the left, add user1/user3 on the right". Generally diff algorithms do not care about whether the contents are sorted or not.
Even if a feature is added to forcefully break the lines apart it would look like this rather than what you want (keep in mind that this feature does not exist and I simulated this by manually setting diff anchors):
Meanwhile if the inline highlight is distracting to you you can just turn off inline diff (set diffopt+=inline:none), which at least prevents Vim from doing the highlighting on the digits:
As I mentioned above, you can force Vim to show the diff however you want with diff anchors. It's not automatic though, as diff anchors are more designed to give you control over which lines to align where, when the algorithm does not do what you want. Say if you really want it to show up the way you want, with some manual fiddling to help visualize it, you can do it and get it to show up like this (see :help diff-anchors to see how to do this):
Diff anchor does have a bit of a learning curve especially if you need such granular controls, and it isn't a good fit if you want everything to be done automatically for you. FWIW the command I got to show the above is:
set diffopt+=anchor
setlocal diffanchors=1,2,2
setlocal diffanchors=2,2,3