That is the expected behaviour - a precedence rule is only intended to control when a dimension is displayed for navigation (by restricting it from being displayed until another dimension or dimension value has been selected), it isn't meant to enforce changes to the selected refinements. If you want to create a precedence behaviour that enforces "selection">"sub-selection", and removing "selection" also removes "sub-selection", a hierarchical dimension might be a better fit (depending on your use case).
As Michael said in his reply this is how Precedence rules are supposed to work. You can create a hierarchical dimension to get the desired behavior or if that is not an option you can add logic to your business or presentation layer to remove any sub selection. One approach that I have seen used is to add a dimension value property (e.g. AlsoRemove=xxxx) to store information about any sub-selection that needs to be removed and then use this information in the presentation layer to remove any sub selections.