Why can't I use user.name as field in machine learning job, but the standard jobs can?

Have you considered that it is possible that there are actually no anomalous examples in the data set you are using? In other words, let's say you're attempting to find a rare user name, but all of the user names in the data are consistent or routine. If that's the case, there will be no anomalies found and you will not get any "results".

Here's an older (but still relevant) article that discusses some of the nuances around rarity analysis.