Lethn One thing I did think about was randomly spawning a raycast within a radius and then spawning a node at the hit point of the raycast and then having it delete itself when the AI reaches the destination then the process would repeat but I feel like that would be way too hacky of a solution for navmesh.
Not dissimilar to what I did ages ago for something, but instead just used an arbitrary random direction vector from the Unit's position * arbitrary random distance range as the 'random point', then once the distance of unit to this point was below a certain threshold, repeat.
Avoids Raycasts & creation/deletion of Nodes which are more expensive operations at scale, and could be offloaded to a separate thread (I think Raycasts are locked to physics system/single thread, I may be wrong).
Also do not make these checks happen every frame, something like this could happen 1 frame in 30 or slower and still have the same visual effect to the player. Creating frame offset groups like this for a subset of Units (e.g five units processed in frame 1, five in frame 2 etc. upto 30), or threads = more performance.