The only way you get that sort order is if you did
(sort-by (comp str first) {9 7, 6 5, 3 3, 0 -1, 36 4670, 24 3203, 12 23})
;=> ([0 -1] [12 23] [24 3203] [3 3] [36 4670] [6 5] [9 7])
That will sort them as strings. If you need to sort a map by key literals then regular sort works
(sort {9 7, 6 5, 3 3, 0 -1, 36 4670, 24 3203, 12 23})
;=> ([0 -1] [3 3] [6 5] [9 7] [12 23] [24 3203] [36 4670])
If you need to sort by the value or if you need to convert the key or value then you should use sort-by and a function to extract the value to perform the conversion.
(sort-by second {9 7, 6 5, 3 3, 0 -1, 36 4670, 24 3203, 12 23})
;=> ([0 -1] [3 3] [6 5] [9 7] [12 23] [24 3203] [36 4670])