hide elements of admin with css file

It’s always better to encapsulate your styles in a separate file, so your first example is closer. That said, the documentation for admin_print_styles says quite clearly:

admin_print_styles should not be used to enqueue styles or scripts on
the admin pages. Use admin_enqueue_scripts instead.