Putting the S1 in did not change Mach to G94 (Feed per min) but rather because the feedrate you had in your code it made it look like it did.
By putting the spindle speed DRO to 1 you are telling Mach the spindle is doing 1 rpm so if your feedrate is F10 then Mach is thinking you are wanting 10mm per rev. As the spindle is doing (or Mach thinks it is) 1 revolution per minute the axis will travel 10mm per rev which is the same as 10mm/min in this case. If you had the G95 feedrate programmed correctly the F word would be somewhere in the region of maybe 0.1 to 0.3mm/rev. Now if your feedrate was that, say F0.1 and your spindle was seen by Mach as 1 RPM the axis would only travel 0.1mm in one minute.
And to answer your last question, G95 units/rev (mm in your case) means exactly that, the axis will travel the feedrate distance for every revolution of the spindle.
Hood