That's happening because the dynamic preserve only works on certain url's (look at Links::clean_output) and the https url isn't one of them (and we sort of can't because it's created dynamically if it isn't set). However, for future versions, I've added a form_hidden template variable for cases where clean_output doesn't dynamically insert it for you.
Adrian
Adrian