Roxas was a nobody. He didn't have a heart. He might have cried or had feelings, but he was a definite nobody since he had control over Samurai nobodies. And he already merged with Vanitas at the end of BBS, so I don't see why he would need that still.
Roxas is a special Nobody, but a Nobody nonetheless since he is the byproduct, the leftovers, of a lost heart.
In this case, in addition to Sora's body and soul, Ven's heart was probably left behind as well.
Just because he has a heart doesn't mean he isn't a Nobody. The conventional Nobody has no heart, of course, but he's not conventional. In technical terms, he would only have a portion of a heart anyway.
As for why it didn't return to Ven, that's simple. Because there's no point in it returning to Ven. If the heart unlocker unlocks a heart's potential, making that
incomplete heart return to a comatose body would be nonsense. With or without the heart, Ven would still slumber, because the heart is incomplete. Kairi's heart returned to her because that's where it belongs. Ven's heart can't return to Ven until it can actually function properly and completely.
As a Nobody, Roxas does not need the heart to function, he just gets it as a nice bonus which gives him the ability to feel.
So, yeah, restoring Ven's heart isn't as simple as releasing it (the reason why it migrated to Sora in the first place was because it was incomplete, why would you take it out if it was still incomplete?). There's got to be another way by which Ven can get the rest of his heart back.
And on that note, I personally believe that this is what Xemnas' greater goal was. He said he wanted to merge with KH for a higher purpose (not just for the sake of power). Someone with control over KH could certainly have the ability to rejuvenate a fractured heart.