I'm having the identical problem.
It seems to me that when I set up my iPad, because I didn't want this connected to my iPhone I decided to set up a separate iCloud account. But I also tied this to an external email account. On my iPhone, I have it set up with my phone number as well as an external email account that is different from the email account associated with my iPad. But, my iPhone's iCloud account did not have an iCloud account, i.e. abc@icloud.com, associated with it, only my phone number. So, I decided to create an iCloud account for my iPhone, ie abc2@icloud.com, in the hope that apple's message server would disassociate my abc@icloud.com from my phone number and instead associate abc2@icloud.com. But... while this seemed like it was working, I'm not so sure.
I think I got into this problem because my iPad originally had message sync through iCloud turned on. I tried turning it off because it was off on my iPhone. But that didn't work. But, now that I have 2 separate iCloud accounts and I have sync through iCloud on both my iPad and iPhone, these messages seem to be finally separated. Don't know what will happen if I turn off sync with iCloud on both of these again. Also, one other detail, my iPad is the wifi only model so it does not have a "phone number" associated with it. I wonder if that is really what's behind this odd behavior?
So, I think I have "cured" my iPad/iPhone mess... I now have separate iCloud accounts for my iPad and iPhone. And, I have sync to iCloud turned on for both. Now the messages seem to be separate. The annoying thing is the sender could not direct the message to my phone number because doing so caused Apple's server to send it to my iPad's iCloud account until I created the iCloud dedicated to my phone number and had sync turned on for both which finally forced to associate my phone number with that new iCloud account such that my iPad's iCloud account could no longer hijack the messages meant for my phone.