Ordering Looped Results by Field's Numerical Value
It's an extra plugin but SuperSort would do the job - https://github.com/TopShelfCraft/SuperSort

Edit - couldn't make it work in one go, but this works:

{% set results = [] %}
{% for field in submission %}
  {% set results = results | merge([{'handle': field.handle, 'value': submission[field.handle].value}]) %}
{% endfor %}
{% set sortedResults = results | supersort('sortAs', '{value}', SORT_NUMERIC) %}


Not the most elegant, let me know if you find a better solution!