Custom Post Type Pagination Paginates Only in URL Structure

I think you forgot to add this to your query args. By adding this page parameter WP will show the posts that would normally show on page=x.

Solution:

// So that WordPress will know which page to show
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;      

// Our query args array.     
$args = array(
     'taxonomy' => 'portfolio_categories',
     'term' => 'artwork',
     'post_type' => 'portfolio',
     'posts_per_page' => 4,
     'paged' => $paged
);

If this does not work, let me know. 🙂