Is there a way to stretch the generated texture used for the dispace modifier, other than scaling in one direction applying and then scaling back to the original size?
You can use the ‘object’ texture coordinates from the modifier… Add an ‘Empty’ (best if you parent the empty to your object so you can keep the coordinates in place when you move it), and set the empty to be the object coordinate system for the modifier.
Now you can move, rotate, and scale the empty, and the displacement texture will get those transformations. In your case, scaling the empty to something like [3, 3, 0.5] will produce what you’re looking for. (you may also want to have vertices groups to control the displacement better)