If I understand you, I believe that the following will do what you need:
function orderby_mod_wpse_140999($orderby) {
remove_action('posts_orderby','orderby_mod_wpse_140999');
global $wpdb;
return $orderby.", {$wpdb->posts}.post_modified DESC";
}
add_filter('posts_orderby','orderby_mod_wpse_140999');
$args = array(
'meta_key' => 'premium',
'orderby' => 'meta_value',
'order' => 'ASC'
);
$q = new WP_Query($args);
var_dump($q->request);
The key names may be wrong and it may be (probably is) better rewritten as a pre_get_posts
action, something like:
function orderby_mod_wpse_140999($orderby) {
remove_action('posts_orderby','orderby_mod_wpse_140999');
global $wpdb;
return $orderby.", {$wpdb->posts}.post_modified DESC";
}
add_filter('posts_orderby','orderby_mod_wpse_140999');
function pgp_orderby_mod_wpse_140999($qry) {
if ($qry->is_main_query() && is_archive()) {
$qry->set('meta_key','premium');
$qry->set('orderby','meta_value');
$qry->set('order','ASC');
}
}
add_action('pre_get_posts','pgp_orderby_mod_wpse_140999');
Again, I am guessing a bit. For the pre_get_posts
solution the code would need to go somewhere that will allow the hook to apply to the main query.