How do I use array and curve modifiers, without bending?
Here are the sequence of steps I followed for getting the arrayed objects to follow the curve without distortion in Blender 2.82a:


I began by adding a Bezier circle object to the scene. Then I added a polygon cube to the scene. Both remain at World Space 0,0,0 (and this may actually be significant).
In Edit Mode for the Cube, I scale it along the Y axis.
In Object Mode, with the cube still selected, I create an Array Modifier. I choose Constant Offset and enter a value for spacing between the cube instances which looks good (in my case, 0.22). I do not apply the Array Modifier.
Still in Object Mode, with the cube still selected, I create a Curve modifier. I point it to the Bezier Circle as a target. I enter Y for the Deformation axis, which is the depth axis in my scene. I do not apply the Curve modifier.


Below is my result, and as you can see, there is no distortion between the edges of cubes. I do not know how you are getting distortion. I tried changing the order of my modifiers as a test, and it did not produce your results.