Actually it happens. I live in Sweden and I travel to Brazil to visit family. If I get a SMS on my Swedish number, I get charged the equivalent of a 1-minute phone call. The reason is that the Brazilian telecom I'm roaming in sees a foreign number from Europe as a perfect opportunity to get some easy money, and charges my provider, which passes on to me.
Note that the law in Brazil forbid telecoms from charging to receive phone calls or messages, even when roaming. But I guess the regulations don't extend to foreign users that are on international roaming, or companies do it anyway counting that the person will only find out after returning home and won't know how to fight it. Authorities are not set up as well to receive complaints from non-residents.
I'm pretty sure it's illegal for an EU network to charge for receiving a standard SMS or MMS - even while roaming.
I can therefore receive an SMS OTP in any country and won't pay a penny.