How can I programmatically insert a new grease pencil object (svg) at coordinates/rotation
Import method
It sounds like the easiest option for you would be to load a series of SVG images using the SVG Import Add-On (so you don't need any coding). Currently the SVG Import creates Curve objects - which can be used as-is, or optionally they can be converted to Grease Pencil strokes (via [right-click] &gt; [Convert to Grease Pencil]).
Scripting method
Alternatively - if you wish to do things via a script continuing from the GreasePencil object and Material creation you have illustrated above, then you will need to add Layer, Frame and Stroke/s. (note: my gpencil == gp_ob):
#Get/Set Layer    
if gpencil.layers:
    layer = gpencil.layers.active
else:
    layer = gpencil.layers.new('mylayer', set_active = True)
    
#Get/Set Frame
if layer.frames:
    frame = layer.active_frame
else:
    frame = layer.frames.new(1)
    
#Draw some Strokes (and optionally add a closing stroke) to form a triangle
stroke = frame.strokes.new()
stroke.line_width = 6
stroke.draw_cyclic = 1 #close - automatically draw a final last stroke back to start point
stroke.points.add(count=3) 
stroke.points[0].co = (-1.0, 0.0, 0.0)  #point coordinates - i.e. x, y, z
stroke.points[1].co = (1.0, 0.0, 0.0)    
stroke.points[2].co = (0.0, 0.0, 1.0)

p.s. As good practice, you should also reference where you get your code snippet/s from.
ref: Blender Version 2.83