Assuming
that "you can concatenate" means not only the individual digits, but also the results of their operations,
the available numbers are
0 to 12, 14 to 25, 28, 30, 32, 38, 39 and 40.
because of
the following Python script (sorry for such an awkward one!) which enumerate all possible binary trees with no more than 4 leaves and computes the result for expression denoted by each of the trees for all permutations of operators and operands (which are 2021 digits)
from itertools import permutations, groupby
from operator import itemgetter
# all permutations of 2021 digits
p = list(permutations([2, 0, 2, 1]))
# all operations
ops = [("+", lambda x, y: x + y),
("-", lambda x, y: x - y),
("*", lambda x, y: x * y),
("/", lambda x, y: x / y if y != 0 else 1000000),
("|", lambda x, y: float(str(abs(int(x))) + str(abs(int(y)))))]
# set of values
v = set()
for x in p:
# using 1 digit:
v.add((f"{x[0]}", x[0]))
# using 2 digits:
for (s1, op1) in ops:
v.add((f"{x[0]} {s1} {x[1]}", op1(x[0], x[1])))
# using 3 digits:
for (s1, op1) in ops:
for (s2, op2) in ops:
v.add((f"({x[0]} {s1} {x[1]}) {s2} {x[2]}", op2(op1(x[0], x[1]), x[2])))
v.add((f"{x[0]} {s1} ({x[1]}) {s2} {x[2]})", op1(x[0], op2(x[1], x[2]))))
# using 4 digits:
for (s1, op1) in ops:
for (s2, op2) in ops:
for (s3, op3) in ops:
v.add((f"({x[0]} {s1} {x[1]}) {s2} ({x[2]} {s3} {x[3]})", op2(op1(x[0], x[1]), op3(x[2], x[3]))))
v.add((f"(({x[0]} {s1} {x[1]}) {s2} {x[2]}) {s3} {x[3]}", op3(op2(op1(x[0], x[1]), x[2]), x[3])))
v.add((f"(({x[0]} {s1} ({x[1]} {s2} {x[2]})) {s3} {x[3]}", op3(op1(x[0], op2(x[1], x[2])), x[3])))
v.add(( f"{x[0]} {s1} (({x[1]} {s2} ({x[2]}) {s3} {x[3]})", op1(x[0], op3(op2(x[1], x[2]), x[3]))))
results = list(r for r in v if 0 <= r[1] <= 40 and int(r[1]) == r[1])
results.sort(key=itemgetter(1))
abridged = [list(g)[0] for k, g in groupby(results, key=itemgetter(1))]
for s in abridged: print(s)
(Try it online!)
Note that all numbers not mentioned in hexomino's answer use concatenation of results (denoted here by $\#$):
$15= ((1 + 2) \# 0) / 2$
$25 = 2 \# (10 / 2)$
$28 = (1 + 2) \# 0 - 2$
$30 = (1 + 2) \# 0$