It's like the OP guessed: a step with "duration = above X heart rate" means the step will end when you go above an HR of X.
I created a workout which includes the following step:
- Run | Duration | below 150
On my watch, the workout step description reads:
"Run Until HR < 150BPM"
Similar results with a step defined as "Run | Duration | above 100"
The UI for this could probably be better....