solving pipelining data hazards using stalls
It all depends on the precise definitions of the various stages (all all processors have their own, often using similar names for more or less subtly different definitions) and what circuitry is also available (such as forwarding paths).

Putting ID at the same time as WB seems to assume the existence of a forwarding path while putting ID after WB completed seems to assume that so such path exists.