I recreated your model and used the constraint by path options for the reference set selectors making sure the objects are selectable over the associations and this works as expected.
When I have the following data (region/subregion/country):
aa/aaa/a
bb/bbb/b
Selecting the region aa will then only allow selection of the sub aaa and country a.
You will need to reset the fields if you change region or subregion else the wrong combinations can be set.
Constraints by path in my setup:
Subregion:
country: