With a little help from Freenode community, here is the answer:
convert 'a.png' \( 'b.png' -resize 100x100 -rotate 50 \) -geometry +100+50 -composite 'a.png';
The problem was that -geometry
restricted the rotated element to the specified dimensions.