Context
I have $n$ observations which I'd like to sample with replacement for the purpose of bootstrap. A way to think about it is that we have a multinomial distribution with $n$ classes and that we'd like to draw from it $n$ items.
However, due to computational context, it's easier for me to use either a binomial or poisson distribution. So an alternative (known) way to do approximate sampling will be to count how many times we wish to have each item, but drawing a Binomial($n$, $\frac{1}{n}$) frequency for each of the items. When $n$ is large, we can approximate this using Poisson(1) (i.e.: poisson bootstrap).
The question
I'd like to use these sampling to get exact multinomial distribution, instead of an approximate one. How can this be achieved using either binomial or poisson distribution?
The issue is that since we use, for each of the items, Binomial($n$, $\frac{1}{n}$), we have a non-zero chance that the sum of these binoms will be different than $n$. If it is smaller then n, then we can just use the values up to the $n-1$ item, and for the $n$th item just use $n$ minus the sum of the previous draws. But if the sum is larger than $n$, this method won't work.
An idea I had here is to either use some sort of rejection sampling, by which whenever the sample is not exactly $n$, to just try it again (which feels VERY expensive).
Another method I thought about was to randomly shuffle the order of the $n$ items, and then take the first $k$ items, so that their sum would be equal to $n$, and if the $n$ items would sum to a smaller number than $n$, then to pick the $n$th value and have it be n minus the sum of the values up to that point.
The issue is that I don't have a proof that this method would yield a valid multinomial distribution (I suspect it will, but no proof).
Any suggestions/references would be lovely. Thanks upfront!