Thank you for your question.
Yes, you can replace this with the arccos form: it's mathematically equivalent, and indeed faster. What I'd suggest is that you create your M with a call to the factory (not modified), then replace M.log with a function handle to separate code of your own. This way, your code keeps working if you update Manopt later on. Alternatively, you can send a pull request for modifications to the factory where you implement M.log_acos (for example), and after your call to the factory you set M.log = M.log_acos;
Yes, there is a reason for using the arcsin form: this is explained in the code for the distance on the sphere, see
https://github.com/NicolasBoumal/manopt/blob/master/manopt/manifolds/sphere/spherefactory.m#L87 -- in the code to compute distances, there is an explanation for why arcsin is more accurate when computing the distance between two points that are very close to each other (think: less than sqrt(machine precision)); in fact, the arccos form loses all precision below that threshold. If in your application it is not relevant to favor accuracy for such close points, then it is indeed better to favor compute time.
Best,
Nicolas