The bot dismounts before several actions to increase reliability. The bot is not designed to be the most efficient means of performing a task. It is designed to perform tasks successfully. I'm sure the developers would be willing to dedicate time to performance optimization once the bots are 100% reliable, but since Blizzard is constantly patching the game and requiring Honorbuddy and all of the associated plugins and profiles to be rewritten I wouldn't count on it. Performance optimization is likely not high on the to-do list. There are issues with quest turn-ins and pickups if you are mounted. Some quests cannot be picked up if you are mounted, and being mounted can cause you to be out of range. Also, with flight you may not be on the ground when you arrive at the coordinates. There are a lot of potential issues that can be caused by being mounted with turning in/picking up quests. It is easiest to just have the character dismount before trying to attempt these actions.
For me it isn't an issue of efficiency. It is that only bots dismount at quest givers. I'm always cringing when I see all the botlike moves my character is making. Hopefully it isn't as obvious to nonbotters.
I usually stop the bot/drive manually if I'm around other people when I'm worried the bot will act wacky.
Some quests givers can't be accessed while mounted. Some quests require being dismounted to complete. Seems like it eliminates all of those problems.
That is a legitimate concern. If it is obvious that you are botting then that defeats the purpose of the bot. The bot is always going to have bot behaviors. Other botters will be able to easily tell that you are botting. I've heard that most botters are reported by other botters. There are also groups of people that actively seek out botters, and addons to detect bot behaviors. The point is that there is always going to be a moderate amount of risk when botting, and the bot will always look like a bot to anyone that is watching.
I'm on a high pop server. My character is always around other people and the bot is always acting wacky.
I'm on a Med-High pop server which is an Eastern timezone realm, when I'm Western. So when I get home from work and play, I got two hours on everyone and most people will be offline while I'm still going. Strategies.