You can load the posts using AJAX. Have a look at the documentation here: https://developer.wordpress.org/plugins/javascript/ajax/
When the first page loads, you have your 8 posts from WP_Query in the carousel. As you click next through the carousel, you’d want to make an AJAX request to load the next post(s) along. For example, after you get to the 8th slide, you make the AJAX request which calls a new WP_Query but using the paged parameter to mimic going to page 2, 3, 4 etc.
Your function will send back the new slides to your page which you can then append to your carousel.
As a warning, there will first be a slight delay with the AJAX load, so if a user is quickly clicking through slides, you may want to start pre-loading the next content before they even click “next slide”. Secondly, if you have a lot of posts, you could end up with a lot of slides on the page, potentially slowing down the webpage itself.
Conversley, if you only have a a small number of posts (maybe 50 or 60), an alternative would be to load all of the slides, and use lazy-loading for any images.