Follow-up Report:
Thank you for providing the solution. While experimenting based on the code you offered, I unexpectedly discovered that adding the following code to functions.php enables the posts_per_page setting in WP_Query arguments.
Please note that this behavior has only been observed in my specific environment (WordPress 6.8, PHP 8.4.6, etc.), and the results may vary in other setups.
I would also appreciate any insights into the reason behind this behavior and any potential side effects.
/*
* Enables the 'posts_per_page' setting in WP_Query args
*/
add_filter('option_posts_per_page', function ($value) {
// Get queried object
get_queried_object();
return null;
});