Richtig vermutet, bei einem is auf genau die Klasse der Variable oder eine Elternklasse macht der Compiler einfach nur eine Assigned Überprüfung.
Und wenn nicht, dann gibt es entweder einen Bug und/oder jemand hat böswillig/
mutwillig die Typprüfung umgangen.