tax_query: Don’t show posts with parent term when they have a corresponding child term applied

I can see you are trying to be clear but still a really confusingly worded question, broke my brain a bit. I think this might achieve what you want, but I’m not fully sure if I understand you correctly or not. Try it out anyway, it may or may not work:

$downloads_parent_posts = get_posts( array(
    'post_type'        => 'downloads',
    'orderby'          => 'title',
    'order'            => 'ASC',
    'tax_query' => array(
      'relation' => 'AND',
      array(
        'taxonomy'         => 'download-category',
        'terms'            => $term->term_id,
        'field'            => 'term_id',
        'include_children' => false
      ),
      array(
        'taxonomy'         => 'download-category',
        'terms'            => get_term_children($term->term_id, $term->taxonomy),
        'field'            => 'term_id',
        'operator'         => 'NOT IN',
      )
    ),
) );