The bytecode remains the same, the compiler is intelligent enough to ignore the rest of the contract since it could never be used.
The init code part of the bytecode doesn't do the usual code copy to memory, presumably for the same reason. It does still set up the free memory pointer, which is not needed however.
Another interesting point is that we are allowed to use this contract's address as the destination for ETH after the self destruct.