Each process has an entry in the kernel portion of the process table and that struct entry contains this member:
message *p_messbuf; /* pointer to passed message buffer */
If the process must be blocked in mini_send or in mini_receive, the pointer to the message structure it passed is saved in this member variable.
So the kernel will be able to access a process's message structure when the rendezvous occurs and the message can be finally be copied from the process's message structure (mini_send) or copied into the process's message structure (mini_receive).