Tokens not evaluated in Activities
I'm not sure I can answer whether it's the 'correct' behavior. But I can verify that when you email or 'print/merge a document' with tokens, the activity detail records the literal tokens, not the generated content. (Just for clarity of anyone reading and not familiar - i.e. it will show the token {contact.addressee} in the details for the activity versus "John Doe".)

For the 'print/merge document' side - if you turn on record generated letter (System Settings > Misc), the pdf that attaches to the activity will showcase the generated tokens.

My guess is that it's easier to record the tokens rather than the generated content especially when you consider you can store the same activity on multiple contacts i.e. you email a group of 15 people, they all get the same activity stored but it contains multiple 'with' contacts.

Strangely enough, if you send through CiviMail and then view the activity details it does show the generated token. Although this is also probably not the ideal behavior because it shows the evaluated token at the moment you view the activity - not from when it was sent. 

In summary, what you have described (I can't vouch for CiviRules) is the current 'standard' behavior.