Если вы хотите проверить, что значение и тип совпадают, используйте:
x == y and type(x) == type(y)
В Python таких явных сравнений типов, как это, обычно избегают, но поскольку логические значения являются подклассом целых чисел, это единственный выбор здесь.
x is y
сравнивает идентичность - указывают ли два имени на один и тот же объект в памяти. Логические значения Python являются синглетонами, поэтому они будут работать при сравнении, но не будут работать для большинства типов.