Which is the correct way to conditionally enqueue a CSS file?

I agreed with @PatJ — you should check if get_queried_object() returns an object or not.

But you could simplify your code by simply using is_category() and in_category() which are conditional tags in WordPress:

if ( is_category( 3 ) || in_category( 'arta' ) ) {
    wp_enqueue_style( 'twentytwenty-style-2', get_stylesheet_directory_uri() . '/style-arta.css', array(), $theme_version );
}