How accurate is the speed test tool feature on a Mikrotik router for testing bandwidth between branch routers and the central router?
Kinda a broad question...
At end of day, /tool/speed-test measures the things it says it measure, the duration specified. So if "accuracy", you mean "real world performance" that a different questions since it depend on types of traffic and resources you have.
As MikroTik notes, running any kinda bandwidth test on an external systems rather than the router you're trying to tests is the preferred approach. Most notably, speed-test has a cost in CPU, which then can have an effect on the max performance since some resource are used by speed test.
And there are additional artifacts of the specific mechanism. For example, the UDP test assumes a particular fixed packet size (1400 I believe), so if path has a lower MTU than 1400 then fragmentation will happen and slower speeds. At same time, "real world" UDP traffic may use a lower MTU is part of their use of UDP protocol so it would not fragment, thus speed/latency may be higher than a speed-test shows.
Similar on TCP, which use a three-way handshake, so more connections use more resources. By since the speed-test makes a limited amount of connection so it avoids some the cost of establishing/termination TCP connection. While real-world traffic often make thousands of small/short connections, which would not be reflect the speed test TCP test.
What accuracy is needed?
What do you really want to test?
How do you want to avoid inter ISP temporary traffic congestions/stalls/spikes?