What you want to do is definitely a supported use case.
Looks like the problem occurs during result processing.
Have you tried to replace super.handleModify() in step 6 by
// Forward the request to the next plug-in.
Note: using wrappers as described at Using the OUD Plug-In API Reference - 11g Release 2 (11.1.2) instead of rebuilding the request from scratch might be more simple in your case (no need to add again every sub object, including LDAP controls if any)
When closing a thread as answered remember to mark the correct and helpful posts to make it easier for others to find them
Thanks for responding and for putting me onto the result processing.
A wrapped resultHandler resolved the error:
// Forward modify request to next workflow element, wrapping the resultHandler