What happens to a render array after hook_form_alter() that does not happen after an AJAX callback?
Since hook_form_alter() is returning the correct results, there is a way to use that to our advantage.

By calling drupal_rebuild_form() in our ajax callback, we can return the specific part of the resulting array that should fill in our wrapper div.

e.g.

function _send_item(&amp;$form, &amp;$form_state) {

    $delta   = $form_state['triggering_element']['#delta'];
    $lang    = $form_state['triggering_element']['#language'];

    $new_form = drupal_rebuild_form('mymodule_node_form', $form_state);

    return $new_form['mymodule_item_id'][$lang][$delta]['item_data'];
}