And this should be done across multiple code chunks.
The approaches provided by patchwork::align_patches() and cowplot::align_plots() are both very close. However, they require that the ggplots be built all at once and then dispatched one at a time. Baptiste's egg method in this SO crosses code chunks, but then the alignment is lost (it's also hackish).
This seems like it should be a common use case - do some analysis, plot the result, manipulate the result, plot that, etc., and then have it all consistently sized and aligned along the y axes (assuming that is even possible...).
Well, I suppose I'm going to answer this myself, perhaps whistling in the dark, but just in case...
Looks like I was a tad wrong about the patchwork solution. It does provide a method to make consistently sized and aligned plots across multiple code chunks using get_dim and set_dim. However, avoiding misbehaving plot elements (like guides floating over the plot panel) may require a kludge depending on the flavor of the first plot. That is, you may have to build a ggplot object that never gets called just to get the right dimensions for the plots you do want to show. There are other trade-offs as well. For example, set_dim does not apply to individual facet panels. Here's an reprex: