Not a horrible idea but there may be a few problems with your proposal. The lazy player that normally doesn't pick up the dog tags for 50xp will not pick it up regardless of how much xp the tags will give. Teammates that pick up the tags wont pick up tags out in the middle of no mans land because they are exposing themselves for a free kill. Reducing the tag pick up xp to 25 will cause the player to further ignore picking up the tags. You do have a good idea, if you ask me the xp obtained should be more like this.
The player that gets the kill still gets 50xp. Picking up the tags should give the same player 50 xp.
A teammate that picks up a tag that came from a kill that was not his should be given 50xp while the player that got the kill should be given 25xp.
- Thus killing a player and picking up the tag gives 100xp, and killing a player and letting a teammate pick up the tag should give 75xp to the player that got the kill and 50xp to the teammate who picked up the tags.
After all the point of KC is to pick up tags and rack up points for the win. Simply getting kills does not give you a win.
Your method would make more sense for encouraging the killer to get the tags themselves without basically punishing the teamate for taking on the risk of collecting someone else's tags. I personally only pick up the tags that are safe to get (regardless of who got the kill) unless it's a clan op or we just need them to secure the win. Whether I got 50 xp or 0 xp for someone else picking up my yellow tags wouldn't have much bearing on how I play.