I have experienced issues with the 'Preview' functionality previously in that it wouldn't display values that worked fine on the portal. In what context did you use CurrentUserField("DN")?
Using an existing request, I added a text field that pulls through the DN from the current user and this appears to work fine via the Self Service Portal (inc. mobile UI)
I tried again and it works now. I added a text field and set Default value Expression like you did. I have now idea why I got this error a few hours ago...
In my use case, I Need to know if a user is member of a specific Domain. I used this Expresson for this, because there is no "like" or "contains" Operator so I had to code a Workaround:
if ToString(Find("yourdomain", CurrentUserField("DN"))) != "-1"