FaCT++ and HermiT are supposed to support the same inferences, so if this works with one but not the other I suspect a bug. To confirm this, you can try the same example but using something like
Country and (hasCountry value England)
where hasCountry
is an object property.
This does not make sense in terms of your original ontology, but the same inference should be kicked off without using data properties and literals. If FaCT++ recognizes this, then there is a bug in how it works with literals and datatype properties.