Instead of excluding child categories, try to get only categories that have no parents (0)
$cats = wp_list_categories( array(
'parent' => 0
) );
That should work with no issues.
EDIT: get_the_category_list()
does not support advanced arguments. Your best bet is wp_get_post_categories($post_id, array(‘parent=>0’)). That will return an array of objects, you have to do the HTML yourself with a foreach loop.