This is untested, but I think it should work. Add the filter in pre_get_posts
if it’s your post type archive, otherwise remove it for any queries that follow the post type archive main query.
function wpd_add_posts_orderby( $query ){
if( $query->is_post_type_archive('your-cpt') ){
add_filter('posts_orderby', 'edit_posts_orderby');
} else {
remove_filter('posts_orderby', 'edit_posts_orderby');
}
}
add_action( 'pre_get_posts', 'wpd_add_posts_orderby' );