How can we disable a custom post type archive page but enable its feed?

Set the feeds argument of rewrite to true to generate feed rewrite rules. It defaults to whatever has_archive is set to if nothing is explicitly passed.

$args = array(
    'has_archive' => false,
    'rewrite' => array(
        'feeds' => true
    ),
    // your other args...
);