That sounds like it would work just fine. I personally took kinda dogmatic approach and tried to avoid having several (long running) processes in a container. As such I think a embedded Lua script in nginx would have been most suitable solution
If you have Docker 1.12 or later you can run your acme client in the same process namespace as the nginx container. Then the client can signal nginx directly about certificate change.