I cannot get tax_query in get_posts() to work with custom taxonomy

Does your custom post type have the setting publicly_queryable=true?

Check the post type in the resulting query to see if it matches your post type. I’m guessing that your post type ‘distribution_centre’ is not being queried for one reason or another.

add_filter( 'posts_request', 'dump_request' );//show the query

function dump_request( $query ) {
    echo "<pre>";
    var_dump( $query );
    echo "</pre>";
    return $query;
}