This appears to be a bug. When OfficeWriter is reading in the values for the chart, the property .ScatterValues should have been set to the correct range value (e.g. =Sheet2!$R$2:$R$2), and therefore causing CopySheet to fail. I have filed a bug for development to fix this bug.
To work around this issue, you can set the .ScatterValues (see http://wiki.softartisans.com/display/EW8/Series.ScatterValues) property in the code above:
string templatePath = "input.xlsx";
/* Open the template workbook */
ExcelApplication xla = new ExcelApplication();
var wb = xla.Open(templatePath);
/* Select the template worksheet to copy */
var origWS = wb.Worksheets["Sheet1"];
/* Make a copy of the worksheet with the given name */
var wsName = "Sheet2";
wb.Worksheets.CopySheet(origWS, 1, wsName);
/* For the new worksheet, update the ScatterValues to point to this sheet */
var newWS = wb.Worksheets[wsName];
newWS.Charts[0].SeriesCollection[0].ScatterValues = "=" + wsName + "!$B$27";
/* Create an instance of ExcelTemplate */
ExcelTemplate xlt = new ExcelTemplate();
/* Open the workbook from the ExcelApplication object above */
xlt.Open(xla, wb);
Disclaimer: I work for SoftArtisans, makers of OfficeWriter.