Oops. Figured it out, after making some inferences based on this stackoverflow question: "How to embed a text file in a .NET assembly?"
The trick is to set the file's Build Action property to "Embedded resource." (Note that you're setting this for the result of the t4 template generation, not the the template itself.)
Then it will be embedded in your assembly and you can reference it in code.
var assembly = Assembly.GetExecutingAssembly();
string configFileContents;
using(StreamReader reader = new StreamReader(assembly.GetManifestResourceStream("MySolutionNamespace.ContainingFolder.SiteConfiguration.json"), Encoding.Unicode))
{
configFileContents = reader.ReadToEnd();
}
Console.WriteLine(configFileContents);
Console.ReadKey();