The reason why there are two tags is because people did not want to use soakhole as it is badly defined and only came from a single import see Support `waterway=stream_end` by Famlam · Pull Request #2034 · osm-fr/osmose-backend · GitHub for example.

This was a poor quality import and tag-fiddling is not going to fix the problem.