As Alexandru suggested,
The stack trace shows that another updateStep() method is used to enter WorkflowService, without @Transactional.
And @Transactional annotations have never been working for local, inner-service calls, thus we get no transaction.