So at least I am not alone with my problem
Another post lead me to this solution for doing what I want to do:
template::element::set_value homepage_edit hp_title REFRESHING
I would have assumed that ad_form_set_value would work also, but it doesn't. It doesn't give an error either. Strange.
My suggestion is this: Variables set in the on_refresh block should be automatically assigned to elements of the same name - similar to how on_request works.
I am trying to get this working by frankenstein programming - but I don't really understand ad_form (or the form builder) well enough to know if I am breaking things.