wp_get_attachment_image_src() works on index, but not on Archives

get_queried_object_id will return the ID for the object that is queried (obviously). On archive pages, that would be the ID of the archive – unless your archive has a thumbnail, you’re not going to get an image.

Depending on where you’re setting the $large_thumb variable, you should be able to omit the ID altogether (as long as it’s used within the loop) using the get_the_post_thumbnail_url()-function.

If you place your code right above the code to display the image, it should work:

<?php
$large_thumb = get_the_post_thumbnail_url(null, 'large');
// Notice the null-value, instead of providing a post ID or object, will default to the current global $post.
?>
<div class="img lightbox-trigger" data-large-thumb="<?php echo $large_thumb ?>">                
    <?php the_post_thumbnail('thumbnail'); ?>
</div><!-- .img .lightbox-trigger -->