It's not the only one, I can name two:
First is Mycelium with its default "Privacy Guard" change handling option, that will do that except of course if the output is Taproot which it can't generate.
Second is Armory which will try to match the output's script type if set to "Auto-change" (not set by default),
Although its "P2SH" is "P2SH-P2PK" which is not commonly used by other clients, the output will look the same as any P2SH outputs.
Thanks, I just remembered Mycelium, it's the wallet I liked to use the most on Android, that is, I haven't used it for years. But I know it offers 3 types of address scripts, that’s what I’d like to see in other wallets.
Another wallet that supports three types of receiving address scripts is Coinomi (it hasn't bech32m addresses), but I’m not sure if it handles change addresses using the same script type as the output reserved for the sender. Although Coinomi is closed source.
I’ve never used Armory, but I know it’s an excellent advanced wallet, but there are rumors on the forum that the devs would resume its development.