Your approach of adding individual stop-sign nodes at the stop positions for greater precision is perfectly sound, no complaints there. But even if the new nodes are tagged for direction=forward/backward, that tells nothing of whether the trajector along one of the ways is reaching an all-way stop or a stop that affects only the minor ways, hence the stop=all tag remains a useful piece of information to describe the intersection. You can see that this is commonly done by doing an Overpass API query.

You can do an Overpass