1) Although the REST-api currently does not cover the full Java Actvivti API, it's production-ready. Please note that in 5.13, there will be an overhaul of the REST to support more (or the full) API and make it more consistent.
1b) Currently, I'm not aware of such a client-framework I'm afraid.
2) Almost correct. Only the last part is slightly different. The job-executor-thread that executes the job will execute the async service-task AND the rest of the process until a wait-state has been reached, another async-activity or the end of the process.