Dataset rotation keeps changing following transformation

Everything you describe looks good to me and shows the intended behavior of the application. The node does not rotate randomly, but it if “Reset view orientation on show” option is enabled then the slice view is rotated automatically to the closest volume axis when the volume is shown.

You can always set view to a standard orientation using the view controller (colored bar above each slice view), or you can set arbitrary view orientations using LR/PA/IS sliders in Reformat module.

If you still find the application behavior unintuitive then please add some annotations on the screenshots that indicate what you would have expected to see; or share a screen capture video.