flattenToList - unpacks object arrays and iterables recursively, drops nulls