Just to mark this as answered - I have resolved my particular issue by creating another t4 generator which uses a sample of the designer code as base and fills in MigrationMetadataID and Target with the ones from scaffold resources like this:
var designerGenerator = new MigrationDesignerGenerator();
designerGenerator.Session = new Dictionary<string, object>();
designerGenerator.Session.Add("Target", scaffold.Resources["Target"]);
designerGenerator.Session.Add("MigrationId", scaffold.MigrationId);
designerGenerator.Initialize();
File.WriteAllText(directory + scaffold.MigrationId + ".Designer.cs", designerGenerator.TransformText());
I have excluded the ResourceManager field from the metadata generator, and used this as target instead:
string IMigrationMetadata.Target
{
get { return "<#= Target #>"; }
}
I have come no further to solving the Resx file issue, but I will forget this for now - as hackish as this feels, it works and it works well based on my tests.