In effect, the 2) above is using as flat a memory space as you can with mc. One created, and based on what you store in it, it stays the same size, memory wise, and you manage it like you would if it were just a memory pointer and a chunk of space (pointer and offset). As things aren't typed in mc, you can't say you want to define an array of 100 doubles, which would reserve what's needed for that, vs an array of 100 characters, which would take much less space.
Using the lat/lon thing, if you store them in the array as floats, the memory usage will not change as things are added, for example.
It is long time and still fenix 5 has the same issue with XTINY and TINY fonts. I think it is time to solve it and have a good regular and small XTINY font as all the other devices has!! :-D I usually struggle a lot to find the correct font for the small text and it is a bit annoying adding resources for what it should be already in... :)