Amazon terminology breaks down like this.
Instance = Server hardware being leased
Game session = Software process running on the server hardware
So 20 'game sessions' can be running on a single 'instance' if the server hardware is powerful enough. Which means 20 different BF2042 matches playing on a single piece of server hardware (instance).
Amazon charges by the minute per 'instance'. Yes, they charge by the minute! So the trick to saving money is to have as few 'instances' running as possible.
To accomplish this EA needs to pack as many 'game sessions' on as few 'instances' as possible. Remember, 'game sessions' are individual matches. So if matches are shut down after the round ends, it's easier to auto-scale 'instance' usage by loading up as few 'instances' with as many 'game sessions' as possible.
The issue with persistent servers is those 'game sessions' never shut down and stay running on the same 'instance'. So if there's only 1 'game session' running on an 'instance', it's going to prevent that 'instance' from shutting down and EA will get charged by the minute for that 'instance', despite only 1 'game session' running on it even though that 'instance' could handle 20 'game sessions'.
So it really comes down to auto-scaling by packing as many 'game sessions' on as few 'instances' as possible. Which is easier if the 'game session' shuts down after every round. It's also easier to just use Amazon's FlexMatch matchmaking system which does all this automatically and DICE doesn't have to write a single piece of code. Which I suspect is what they're doing.
That's not to say DICE couldn't write their own software to auto-scale persistent 'game sessions' by migrating players to a different 'game session' running on a different 'instance'. But obviously DICE didn't go that route and is probably just using Amazon's FlexMatch because it's easier.