This is the documented behavior of isabstracttype:
Determine whether type
Twas declared as an abstract type (i.e. using theabstract typesyntax). Note that this is not the negation ofisconcretetype(T).[emphasis added]
It sounds like you want !isconcretetype, e.g.
julia> !isconcretetype(IntOrString)
true