I'm afraid the advice on the other post you mentioned is misleading. We should not be using DateValue to format a date to be displayed for a specific locale. DateValue is used to convert from a text value to a Date/Time value - and what you want to do is exactly the opposite (convert from Date/Time to a text to be displayed).
If you want to display a date in a specific format, you should use the Text function, as you mentioned that it worked for you:
Text(Today(), "dd/mm/yyyy")
If you want to take a user's input (from a text input, for example), and convert it to a Date/Time value (e.g., to manipulate that value, to send it to aa function that expects a date, etc.), then you should use the DateValue function
"30 days from today: " &
Text(DateAdd(Today(), 30, Days), "dd/mm/yyyy")
Carlos Figueira