One way around this I’ve discovered since posting the above question is to instantiate inline via WP_Widget::form()
, with wp_enqueue_script()
loading the necessary JavaScript (exactly as mentioned above) — except, and here’s the key part, load the JavaScript in the header instead of the footer (fifth argument of wp_enqueue_script()
).
Which makes a lot of sense now that I think about it.
Even still, I hate using inline JavaScript — ever — and loading everything in the header is less than ideal.
As such, am leaving this question open in case anyone has a better idea.