WordPress single post display in archive

Solution:1

You can add post id to each post for example in data attribute. Example for archive.php

while(have_posts())
    the_post();
    $post_id = get_the_ID();

    <div class="" data-postId=<?php echo $post_id; ?>">
        // post content
    </div>

endwhile

Then if user click on specific post, you can get post id from data attr by using JS/JQ. https://api.jquery.com/data/

Content in popup you can display by using REST API.