Using Grease Pencil (Annotation) from Modal in Blender 2.8
The answer is simple: the gpencil.annotate() call on the last line needs to include the argument "INVOKE_DEFAULT".

bpy.ops.gpencil.annotate('INVOKE_DEFAULT')