Background
A bijective base \$b\$ numeration, where \$b\$ is a positive integer, is a bijective positional notation that makes use of \$b\$ symbols with associated values of \$1,2,\cdots,b\$.
Bijective base 2 representations of positive integers look like this:
1 -> 1
2 -> 2
3 -> 11
4 -> 12
5 -> 21
6 -> 22
7 -> 111
8 -> 112
9 -> 121
10 -> 122
Now, let's apply this to a mixed base. Bijective mixed base \$[b_1,b_2,\cdots,b_n]\$ numeration uses \$1,\cdots,b_k\$ as the symbols for each digit place, and the digit value of each digit place is \$\prod_{i=k+1}^{n}b_i\$, as in the usual mixed base. This system can uniquely represent the integers from 1 up to the number represented by \$b_1b_2\cdots b_n\$.
Some numbers in bijective base \$[2,3,4]\$:
1 -> 1
2 -> 2
4 -> 4
5 -> 11
9 -> 21
16 -> 34
17 -> 111
28 -> 134
29 -> 211
40 -> 234
Challenge
Given the base \$b=[b_1,b_2,\cdots,b_n]\$ and a positive integer \$x\$, convert \$x\$ to bijective mixed base \$b\$ as a list of digit values. It is guaranteed that \$x\$ is representable in the system. Some digits of \$b\$ may be greater than 9. You can take the input \$b\$ and give output in either most- or least-significant-digit-first order (mixing is also OK).
Standard code-golf rules apply. The shortest code in bytes wins.
Protip: Jelly does not have this built-in.
Test cases
Test cases are written in most-significant-digit-first order.
x = 1, b = [1] -> [1]
x = 3, b = [1,1,1,1] -> [1,1,1]
For b = [2, 1, 2, 3, 4]:
x = 1 -> [1]
x = 4 -> [4]
x = 10 -> [2, 2]
x = 20 -> [1, 1, 4]
x = 35 -> [2, 2, 3]
x = 56 -> [1, 2, 1, 4]
x = 84 -> [1, 1, 2, 2, 4]
x = 112 -> [2, 1, 2, 3, 4]
for b = [8, 9, 10, 11]:
x = 1 -> [1]
x = 2 -> [2]
x = 6 -> [6]
x = 24 -> [2, 2]
x = 120 -> [10, 10]
x = 720 -> [6, 5, 5]
x = 5040 -> [4, 9, 8, 2]