The MapImageLayer suggestion is a good one, Robert. That's got me thinking, and reviewing possible layer types, which is a good thing. Since I'm using AGOL hosting, I think that particular one is not an option, but some manner server-side rendering might be the best way to go.
Your proposed solution, Oren, has got my interest too. I'm a bit concerned about too many calls to that function, with too many vertices, with every scale and extent change ideally, but it may work just fine. I think I'll have to dig into it a bit more.
Alternative #3, I suppose I could create my own label point services. They wouldn't be dynamic, but at least they'd be predictable.
One way or another, I think this is going to work. Thanks both for your input.