Yes there’s a delay (a debounce more exactly) so if you change channels fast you might not register the unread state.
There’s an argument to say that if it went that fast, did you really read it? I agree there are cases where it’s not perfect, but I consider it working decently for now. I don’t plan any change to this in the short/mid term sorry.