This case can't be solved in Javers, you can't compare String to List.
all that can be done is better error message or skipping this properties.
Btw I think that having two properties with totally different types but with the same name in the same class hierarchy is not very elegant.
I think it will be very useful to check types of the items in the list. In this case I do not compare a List with a String. I compare two lists containing fields. I assume I should be quite easy to first check it the item contain the same type. If not there is a difference between those items.
But even if you want to check between the same property names, a simple check on property type would fix this issue.
A the moment it is a very tricky one. Just throwing an exception will only occur at runtime. And if a developer is not aware of this, the issue might be first recognized on production. A check the other way around does not trigger this exception.
About the solution is elegant or not, is a matter of taste and not very relevant in this case. In my opinion each child class should uses the property names they that fit, and should not depend on the fact if the name is already used in another class or not.