I don't know about dynamic frontends but regarding your second question, I can confirm that HAProxy has session persistence capabilites.
Look up "stick" functions in HAProxy docs. You can even persist TCP connections.
Look up "stick" functions in HAProxy docs. You can even persist TCP connections.