Add custom profile field only for site admins?

user_contactmethods filter hook passes two parameters to the registered functions. The second parameter is the WP_User object, with the help of which you can check roles and caps of the edited user.

add_filter( 'user_contactmethods', 'se330743_user_contact_methods', 20, 2 );

function se330743_user_contact_methods( $user_contact, $user )
{
    // --- fields for admins ---
    if ( !in_array('administrator', (array)$user->roles) )
        return $user_contact;

    // --- fields for users with cap 'create_users' ---
    // if ( !user_can($user, 'create_users') )
    // --- fields for admin---
    // if ( !in_array('administrator', (array)$user->roles) ||  !user_can($user, 'create_users') )

    $user_contact['company'] = 'Company';
    return $user_contact;
}