Split Dataset in two Explainable Subsets
Most classical machine learning algorithms assume targets are labeled completely correctly. If you think your labels are noisy, it would make sense to apply techniques to handle that issue.
As far as splitting a dataset into subgroups to improve performance, you are describing any tree-based machine learning algorithm. The goal of any tree-based learning algorithm is learn to split the data into more homogenous groups in the feature space based on target labels.