What was the reasoning behind the new join?

There is logic behind that, although it might be possible there are exceptions to that rule:
A Boolean "Is"Variable is used for read-only properties, whereas something like “Visible” in your example makes clear the property can be set too.

But this never appeared in the documentation, so…

But (bis) these isSomething is clear (isVisible, isNumber), everybody understand the use at first look.

BTW: in a book about Java 2, I saw myVar.ToString

Maybe not:

IsConfusing :exploding_head:

Maybe the company dog is doing the language grammar definition job :dog2: