Любой подход действителен, в зависимости от того, какие операции чтения и записи вам нужны - если объект пользователя почти никогда не изменяется, процесс медленной / сложной записи не имеет значения, и вы можете избежать большого количества дополнительных операций чтения, включив его в заявочном документе. Если он сильно меняется, медленная / сложная запись становится доминирующей проблемой, и имеет смысл просто поместить ссылку в документ приложения. Это на самом деле одно из самых больших различий между SQL и NoSQL - у SQL есть одна правильная нормализованная структура, с NoSQL вам нужно больше думать о своих требованиях.
Тем не менее, пользователь почти всегда имеет смысл как отдельный объект. Однако вы не ограничены использованием только идентификатора пользователя в документе приложения - включая отображаемое имя (которое редко изменяется), вероятно, устраняет почти столько же чтений, сколько и весь объект пользователя.