At what point does a static site need a backend?
When you need to keep a secret or write shared state. Everything else, including search over your own content, can be done in the browser with a prebuilt index, and it stays working long after any server you would have written stops being maintained.
Web font swaps cause a visible reflow. Fix?
font-display: swap plus a fallback stack with matched metrics. The modern lever is size-adjust and ascent-override on the fallback @font-face, which lets the substitute occupy the same space, so the swap becomes invisible rather than merely fast.
Is there a simpler version that gets most of the benefit?
Yes: do the first step, skip the automation, and revisit in a month. Most of the value is in the first step, and most of the cost is in making it repeatable before you know it is right.