The optimal solution is
4 pieces,
which is achievable (for example) like this:
For another (or perhaps, the other) way to achieve the minimal number of pieces, you can check out OP's self-answer below.
Here's how I got there:
Studying the situation, we can instantly see that there won't be a solution with fewer than 4 pieces: there can be no piece big enough to include more than one of the 4 corners of the 13x13 square.
So we plonk down the 5x5 in a corner, and then we have (surprise, surprise) even more corners than before. If we want to keep up with the optimum pace, we know how they must be connected:
This, very nicely, leaves us with a white piece that fits on the 12x12 square:
The problem is, of course, that the 16 squares needed for the long parts are in exactly the wrong shape on the 12x12 side. Luckily, that's easy to fix:
Even though it doesn't exactly fit, we can just cram in one of the pieces (I chose the red one) in the corner of the 12x12 square. Where it overlaps the white piece (1 in the next picture), we shrink the white portion in the 13x13 square (2), and add the missing squares to the red piece:
We then bring back the added red squares to the 12x12 side, and since they all fit in the 4x4 corner area, we are done with the red piece.
Then, we repeat the procedure (taking a couple more iterations, since the red piece is taking up the corner) for the other piece, and that's just about it!