Thanks for suggestion.
Good option, but few concerns here: there is no space in my original example for e.g. so it would require more sophisticated regex or custom udf.
I think that the root cause of the issue is some limitation of initcap function, that treats only spaces as delimiter. Also, I've tried such query in EKS cluster, and it works as expected, so this is rather some limitation of Databricks Spark version