No puede usar conexiones diferentes, pero aún puede hacerlo proporcionando el nombre de la base de datos explícitamente:
$q1 = DB::table('db1.contacts')
// where(..) or anything you need here
->select('mail_address as email', 'date as created_at');
$q2 = DB::table('db2.contacts')
// like above
->select('email', 'created_at');
$result = $q2->union($q1)->get();