В "моей" чистой архитектуре доменный слой содержит бизнес-логику в сущностях и доменных сервисах, а сервисный слой (по Фаулеру) или прикладной слой (как у Эванса) содержит в основном сценарии. Иногда правда БЛ может туда утекать https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/
А что такое "копать", какие сущности при этом меняются? Солдат - понятно, но еще же и земля? Вот связь между сущностями - для меня в сценарии, а не в бизнес-логике, так как она очень и очень разная
Норм функциональный стиль вполне это культивирует, данные отдельно, манипуляции отдельно. Разделение на потоки данных, push/pull дизайн, кругом контекстно независимые лямбды.
Ну, манипуляции - тоже все-таки можно не на уровне произвольных set, а через конструкторы новых измененных сущностей. Но ФТ тяготеет к замене всех классов на туплы и коллекции (