Jim was so kind to update my redmine with the explanation and closed the ticket.
The gist of it is that it is intended behaviour because SPDs are not an actual routing Table.
But If you want proper separation between the overlapped example I made, you can enable “Split connections” on the P1 that contains multiple P2s. That ways they each become a distinctive P2 SPD in the kernel, and it only routes the specific P2 associations you have defined.
Nice to know there was a solution, and case closed. Thanks @Jimp