You should get RESOURCE_EXHAUSTED status code if the RPC fails due to exceeding the max message size, for both unary and streaming, and the status message should indicate that the failure was because of exceeding the max message size. If you're seeing CANCELLED instead, it may be that the failure is not actually caused by exceeding the max message size but rather by something cancelling the RPC.
It's hard to say for sure what's happening here without seeing the exact code you're using to reproduce the problem.