What kind of time should I be hoping to achieve inserting 300k records into a SQLite DB?
Things to improve performance of multiple inserts in SQLITE:

wrap in a transaction

You already done it. This is the first and most important thing.

Don't use big sentences

You can split the insert statement in serveral

INSERT INTO Point (X, Y, PolygonId) 
  VALUES (1,1,1) ,(1,1,2), (1,1,3), ...100 or less... ;
INSERT INTO Point (X, Y, PolygonId) 
  VALUES (2,1,1) ,(2,1,2), (2,1,3), ...100 or less...;
... 10.000 or more statements


Use prepared statements

If the API allows that you can use prepared queries:

INSERT INTO Point (X, Y, PolygonId) values ($1, $2, $3); 


and send the data separately