What is the complexity of the problem of computing the cardinality of the union of many (finite) and small sets?
Yes, there is a polynomial time algorithm.  You simply iterate over all of the elements of each set and add each one to some data structure (e.g., a hashtable, a balanced binary tree) if it's not already present.  Then, you count the number of items in that data structure.

If there are $n$ input sets $S_1,\dots,S_n$, each of size $k$, then the running time of this is $O(nk \log(nk))$ if you use a self-balancing binary tree data structure.  The expected running time is $O(nk)$ if you use a hash table.  The size of the input is $\Theta(nk)$, so this yields an algorithm whose running time is polynomial in the size of the input.