A normal single elimination (SE) bracket uses log2(n) (rounded up) rounds (where n is number of players). However, doing so starts all players in the first 1 or 2 rounds. If the SE instead has more rounds, higher seed players are placed further ahead in the bracket.
In a swiss -> SE progression, it's good for the difference in results in the swiss to have a bigger effect on the next round. Without this, top scorers in the last rounds of the swiss are incentivized to agree to draws or sandbag instead of playing out their matches.
The way I see this implemented is as so: To add rounds to SE, split the largest round into two.
For example, with a normal 16 player bracket, we have 4 rounds with 8 -> 4 -> 2 -> 1 eliminations. The largest round (the first) has 16 players i.e. 8 matches/eliminations. To add a round, we split this up by instead running 2 rounds of 8 players, i.e. 4 matches/eliminations. So now we have 5 rounds with 4 -> 4 -> 4 -> 2 -> 1 eliminations. To add another round, we split the third (the latest round which is tied for largest), leaving 6 rounds with 4 -> 4 -> 2 -> 2 -> 2 -> 1 eliminations.
This splitting can be done until we have n-1 rounds (if for some reason this is desired), whereby each round only eliminates 1 player. Each round has the next lowest seed waiting to play the winner of the previous round.
---
This is currently possible to do in a fairly complicated way, at least by my reading of <https://help.start.gg/en/articles/1465743-running-an-amateur-bracket>, but this requires assistance and is messy. My suggestion could be as simple (to users) as one added field on the "Bracket Setup" page.
The lack of this option is I think a big reason why swiss is currently underused. Without it, the progression needs to cut aggressively (e.g. to top 6), or you run a tournament without elimination games (not very hype).