How can I disable author pages without 301 redirects?

Disabling the author pages is a ‘good thing’. A ‘bad actor’ can enumerate your users, or even get your admin user (which is user id 1) with a simple query on any page. So redirecting author requests is a good idea – and a good security measure. (As is never having a user called ‘admin’, especially if it has admin privileges.)

For instance, an attacker could use the xmlprc.prg page to post multiple requests to any page. They could look through x number of author id’s and get a list of the login names of all the user ids. Then use that list to try to get into the admin pages.

I suspect that the Yoast plugin is redirecting author requests. The code to redirect author requests to the home page will look like this:

function wp_redirect_if_author_query() {

    $is_author_set = get_query_var( 'author', '' );
    if ( $is_author_set != '' && !is_admin()) {
        wp_redirect( home_url(), 301 );     // send them somewhere else
        exit;
    }
}
add_action( 'template_redirect', 'wp_redirect_if_author_query' );

Put a variation of this code (with the redirect you want to have) in your Child Theme’s functions.php file. Or in a simple plugin. (I have a customized personal plugin where I do all sorts of standard settings, including those related to security.) You might need to give a higher priority to the add_action (the optional third parameter, which defaults to 10) to override what the Yoast plugin is doing.