I have a colleague that is really good at his job but sometimes we get off topic and explore a few "rabbit holes" onto more personal topics. I don't want to appear that I'm a chatty Cathy so I am wondering how can I get my coworker back on topic faster when I realize we are going down a rabbit hole?
Just by doing something to break yourself out of the loop.
Knock on the table to break the conversation and say
Hey, I think we're going off on a tangent here. Can we refresh on what the core objective is here?
And then take things back to your last known good position, restate the salient points and move forward from there with a view to quickly resolving the point of issue.
I wouldn't worry about being regarded as "chatty Cathy" by other coworkers, because a) they probably already noticed that it is your coworker that goes down on rabbit holes and b) he's probably doing it to other people too, so he probably already has this reputation among your peers.
Anyway, the best thing for you to do is to just be polite and kindly ask to return to the previous topic. You can make some kind of excuse if it makes you feel more comfortable, like "Wait, before you go on B let's just finish A because my memory is not very good and I'm sure I'll forget it and I don't want this to happen".
I am wondering how can I get my coworker back on topic faster when I realize we are going down a rabbit hole?
If you don't want to talk about personal topics, then just don't play along. It takes two to have a conversation.
Something like "Sorry, I don't have time for that right now. Can we get back to talking about X?" should suffice.