The side texture of deepslate can only be mirrored horizontally (reflected along the y-axis) when placed along the y-axis (how deepslate generates naturally). When placed along the x or z axis however, the side texture can be mirrored both horizontally AND vertically (along both the y and x axis.) I have showcased an image with this.
What is to be expected: Deepslate placed along any axis will have the side only be able to be mirrored horizontally or along both axis.
What actually happens: The y-axis version of the block only mirrors the side horizontally, while the x or z-axis version of the block can mirror the side both ways.
This is due to how the blockstate works. The y-axis calls for 2 models: deepslate, and deepslate_mirrored. These can either be rotated 0º or 180º. The x, however, is different. It calls for the regular model x=90º, and then y=90º. It then calls for the mirrored version with the same rotations. Then it calls for these variants but with the x rot and y rot swapped in place for some reason, with y rot coming before rot x. For the z, it calls for the regular model rotated by 90º along x, mirrored rotated along 90º x, regular model rotated 90º x, 180º y, and then the mirrored model 90º x, 180º y. All of the deepslate axis rotations are inconsistent with one another. It really should be the y-axis rotational stuff but then rotated for the other axis for x and z. I will link the deepslate.json blockstate in case that made no sense.
I'd like to add that I think this issue also breaks re-modeling in resource packs.
When rendering the block normally, the game uses the model supplied by the resource pack, but when it mirrors the block it instead uses the default model, ignoring the resource pack's model entirely.