If we thought the Assume could fail, we would fix the code, not add an Assume. I think it's a question of what do you want the software to do if we are all somehow wrong in our reasoning. In my view, crashing -- which could be a network-wide event -- should be avoided if the software is otherwise able to recover, and since that seems to be the case here, I don't know why we would change the code to crash. It just makes this change needlessly risky, even if it's low-probability.
I think that there are other uses of assert in our codebase that I'd probably disagree with too, which is why I don't find it convincing if the argument is that some other assert would already trigger.
I agree that this is a nit either way and if it had already been written with an assert, I wouldn't be likely to open a PR suggesting that we change it. But I would personally prefer to avoid ACKing a change that is later found to cause a network-wide crash when fed the wrong data over the wire, simply because of an oversight during the review process!