Answering my own question!
I found the methods I wanted in this dump of the Sketch header files:
This code now works to emulate Illustrator's Offset function when the geometry is simple, though the original object sometimes ends up with a messed up style -- when selected, the style doesn't show up in the inspector on the right. Duplicating the original gives you a working object.
// duplicate source layer
var dest = source.duplicate();
// set a wide line style with no fill
dest.style().fills = ;
dest.style().borders().thickness = 20; // offset distance
// TODO: this assumes the source object had "center" lines, not "inside" or "outside"
// convert to outlines
var outlineLayers = dest.layersByConvertingToOutlines();
var outlineLayer = outlineLayers;
// disconnect the resulting shapes from each other
var outlines = toArray(outlineLayer.splitPathsIntoShapes());
// then delete either the smaller or larger outline depending on which way you want to offset
// and copy the original source layer's style to the final outline shape