Usually I have seen stop orders are hit when the mid price or mostly ask price is reached - but if there are brokers who will will only execute stop orders at bid price and vice versa (for sell orders)
If your broker is executing orders at mid prices that basically the same as 0 spread. Perhaps there is a fraction of a second delay to the price data and the executions only appear to be executing at mid prices? I'd say almost every other broker should execute or orders normally
We need to consider the slippage plus brokers spreads in mind while putting our orders for execution.