One advantage of the property approach is that ex:isbn can be declared as:
ex:isbn rdfs:subPropertyOf ex:identifier .
ex:isbn rdfs:subPropertyOf dct:identifier .
I'm not aware of any commonly-used "identifier" datatypes that could serve as a basis for creating for sub-data types, but I might be wrong. Sub-property declarations are relatively common, and supported by existing tools.
Exotic datatypes seem like a backwater solution.
> It would only require defining ex:isbn as a property, which seem more in keeping with the spirit of RDF.
I'm not clear on the way this would be more in keeping with RDF. Under the RDF (recognizing D) semantics, it seems like the datatype has clear benefits. Is there a reason to discount those.