This is the client-side version of #2162, to handle the case when intermediaries are in play. Note that the RST_STREAM can be elided if the server sent a RST_STREAM after the EOS=true. But the client can't assume the server will send such a RST_STREAM.