As of v5.2, it is only possible to externally stop tasklet steps through StoppableTasklet (ie via JobOperator#stop vs internally through a StepInterruptionPolicy). If a custom Step implementation wants to handle external stop signals, it just cannot.
This feature request is about adding a new interface StoppableStep that extends Step and which can be implemented by any step that is able to handle stop signals.