The purpose of using immutable JS is to make deep copies of the channel objects as they are mutable by nature. I found this particularly important if trying to keep within the bounds of Redux.
I’m not quite clear what the issue is. Your screen short doesn’t indicate if the fromJS channel objects is a deep copy of the first channel object.
One thing to note, not all sendbird channel objects inherit from the parent SDK. If you fetch a particular channel or a list of channels they will inherit the methods of the parent SDK. However, if the channel object originates from a channel event handler then you only have access to its data and not any prototypes.