Hi,
As you’ve already experienced it yourself, the GetActorsOfClass is not guaranteed to return your actors in order! You have to sort them yourself.
First of all, it’s not a good idea to use GetActorsOfClass withing a function or event that ticks every frame (I believe your Wander event ticks every frame).
If you don’t have too many points, then a simple yet dirty workaround would be to go to your level blueprint, drag your waypoints one by one and add them to an array in order. Do this once using the Begin Play event. Next, using this same Begin Play event, get your player/ai pawn, pass this array to them and store it into a variable somewhere there. There you go! You have a sorted array that you can use in your AI.
Another but much better way would be to have a separate class for your Waypoints. Keep a static count reference there which increments and gives waypoints a new ID whenever you add a new waypoint to your scene. You can then use GetActorsOfClass in conjunction with that static count reference to create an array and then sort it based on that ID. However, this cannot be easily done in blueprints and you would be better off implementing it in C++.
Hope this helps.