Your understanding of the sentence looks OK, but as I said this in a comment above, I have no idea what part you are referring to as a "relative clause". I see no relative clause used anywhere.
My "answer" below is based on the assumption that the sentence actually ends where you ended it. In children's stories, punctuations are often "ignored" so it is sometimes difficult to tell where the sentence ends if a "sentence" is taken out of the context.
>
≒
> **** (#1) **** (#2)
**** (#1) is **_quotative_**. Weasel was thinking (or saying) to himself . "What kinda monster would come pick up the cake?"
**** (#2) is " ** _when_** " as in "B happens when/while A is happening." Weasel heard someone say = "Hi! Is it (the cake) ready?"