Alright, so I found the solution, it was a simple change in the request object class variable:
function redirect_workaround( $request ){
if( $request->request === 'myspecialurl' ) {
$latest = new WP_Query( array(
'category_name' => 'myspecialcategory',
'posts_per_page' => 1
) );
if( $latest->have_posts() ){
wp_redirect( get_permalink( $latest->post->ID ) );
exit;
}
}
}
add_action( 'parse_request', 'redirect_workaround' );