There is no problem in general with throwing away a recommendation made by a randomization process if it doesn't fit some constraint. That's just rejection sampling. For example, you can get a random sequence of integers from 1 through 5 by rolling a die repeatedly, accepting any value in that range, and throwing away any values of 6 that appear.
The problem here is the constraint: no more than 3 sequential participants with the same condition. That poses a risk of selection bias regardless of how you proceed.
The deterministic aspect of a permuted-block design can lead to selection bias. For example, in the size-3 blocks that I initially suggested in a comment (without thinking enough about selection bias), once the first 2 assignments are made within a block the third is determined. A clinician's recommendation of a patient for inclusion in an unblinded trial can be unconsciously influenced by any sense that the trial's choice for that patient might be "right" or "wrong" based on clinical judgement. Any partial information about the next "random" treatment in line poses this problem.
Matts and Lachin discuss two types of selection bias in permuted-block designs: a potential bias from an "excess of correct guesses of treatment assignments beyond that expected by chance" and knowing the next treatment condition with certainty. This smartphone trial could face both problems if it's known that no more than 3 of the same model can ever be assigned sequentially during the trial. For example, if the last 3 phones distributed in the trial were SamdroidX models but a salesperson thinks that a SamdroidX is "right" for the next customer, that could lead to a push for a sale rather than proposing the trial.
The Zhao and Weng paper that you link (manuscript freely available here) both provides a nice overview of the problem and demonstrates a way to minimize selection bias while providing balanced allocation with their block urn design. But once you impose the constraint of no more than 3 in a row by choosing among multiple random seeds, the risk of selection bias increases.
If you were to use a permuted-block design, a larger block size than 3 or using different block sizes might be preferable to fixed size-3 blocks.* For example, alternating size-3 and size-6 blocks would prevent runs of more than 3 while providing harder patterns to recognize. Or you could design larger-size blocks, then discard blocks or rearrange the order among blocks to meet the constraint.
However you proceed, the constraint of sequences of no more than 3 of the same condition will risk selection bias. The magnitude of the risk will depend both on the assignment scheme and on details of how the trial would be implemented. It might help to use the types of analyses described by Matts and Lachlin and by Zhao and Weng to compare proposed schemes with respect to their risks of that bias.
*With size-3 permuted blocks there would never be more than 2 of the same model assigned in a row. I suppose that if those implementing the trial were expecting a limit of 3 and didn't know about this inherent limit of 2 then selection bias could be minimized. The less that those implementing the trial know about the design, the less the chance of selection bias. But people can be pretty good at recognizing patterns and might unconsciously internalize the design.