WordPress loop for multiple custom post types

That way won’t work as you have found out it will grab just the 4 posts from the loop.

To do this you need to do a search of each post type, something like below will work:

$terms = array('post', 'mixes', 'artists', 'releases');
  if ( !empty( $terms ) && !is_wp_error( $terms ) ){
   foreach ( $terms as $term ) {
    $my_query = new WP_Query('posts_per_page=1&post_type=".$term);
    while ($my_query->have_posts()) : $my_query->the_post();
     echo "<h2>'.$term.'</h2>';
     echo '<ul>';
      echo '<li>'.get_the_title().'</li>';
     echo '</ul>';
    endwhile; wp_reset_query();
   }
  }

That should do the following:

Post Type 1
– post title

Post Type 2
– post title

Post Type 3
– post title

Post Type 4
– post title