Have you tested this to see if it works the way you want?
I'm inclined to say that you shouldn't rely on the Map preserving order. Accessing Map elements by index is a legacy method from before B4X had the ForEach construct. If you want to maintain the order of your ScrollView, I recommend you get all the Keys in the Map, put them in a standard List, sort that List (alphabetically, numerically, however you like) and then iterate through that sorted List to get the Values. This way, changing a Value won't alter that Value's Key's position in the Key List.