I know Nav2 has a rotation shim that will rotate before starting to drive. That will get you partway there. From your question I am guessing you are using ros1? Unsure if old nav stack has rotation shim.
I am no expert on dwa critics but increasing the weight on straight lines critic to be much higher than everything else and disabling any smoothers might get you there.
Writing your own critic or controller or expanding the shim concept would probably also be good approachs.
If your looking for something quick and dirty you could probably put a node in that listens to cmd_velocity and enforces your requirement by zeroing either angular or linear velocity and then point your motor driving node at your new “filtered_cmd_velocity” topic. Interesting strategies could be zeroing the lesser or alternating based on some duration. Fair warning this will bypass some collision checking. Depending on how tight things are, how quickly your controller loops, how fast your moving, ect this could or could not be an issue!
Good luck! Excited to see what direction you go.