when a item is summoned with custom data values, the items will still stack even with different tags as long as the item type is the same up to there max stack size.
Test 1, 1 stone summoned with the command /summon Item ~3 ~ ~ {type=minecraft:stone ,PickupDelay:32767} then throwing a regular stone block onto the first item. Result, the thrown item stacked with the summoned item and obtained all the properties of the summoned item.
Test 2, 3 stone summoned with the command /summon Item ~3 ~ ~ {type=minecraft:stone ,PickupDelay:32767} then throwing a regular stone block onto the three items. Result, the thrown item stacked with the summoned items and obtained all the properties of the summoned items.
Test 3, 1 regular stone thrown on the ground then 1 stone summoned with the command /summon Item ~3 ~ ~ {type=minecraft:stone ,PickupDelay:32767} summoned on top of it. Result, the summoned item stacked with the thrown item and the STACK obtained all the properties of the SUMMONED item. :< WAT
test 4, 1 stone summoned with the command /summon Item ~3 ~ ~ {type=minecraft:stone ,PickupDelay:32767} then summoning an item using /summon Item ~3 ~ ~ {type=minecraft:stone, Age:-32767}. Result, the custom pickup item stacked with the custom age item and obtained all the properties of the custom pickup item AND the custom age item as the stack has yet to despawn 20 minutes later.
Linked issues
Attachments
Comments 1

You need to get the commands right:
But even then it's not working correct in the current snapshot, so I took care of it. The problem will be fixed in the next version.