Thanks for the background. It is always easier to give a "better" answer to a question when you understand the context.
Let me add a small caveat to my answers. I've been working in this space for "quite a while" ;-). It's been many years since I personally did the actual programming, so my knowledge of the individual API calls, their parameters, etc. is very limited. However, I do try to maintain a reasonable understanding of the architecture and general integration points. That's the basis for any "answers" I give.
If you dig through the Kafka SDK, you may find the info that you are looking for. I don't know one way or the other. However, based on what you have said, it is clear that POM sends the UCID of the desired agent-contact interaction to the recording system when it starts a recording. Let's briefly discuss how that works.
Since all agent-called-party interactions are really a conference (agent nail-up connection with the called-party connection), recording systems have to integrate to the POM Call Recording API (available for download on this website). Call recording systems typically do their recording by monitoring the agent end of all agent calls. If the call recorder simply began recording when the agent nail-up connection started and ended when it droped, the recording would essentially be useless. The agent will have spoken to many people and ALL of that including the silence between conversations would be in that multi-hour recording. The call recording system needs signals (events) to tell it when to start and stop recording each of the individual agent interactions. That's the function of the Call Recording API. The Call Recording API is a bit more complicated than just RESTful web service methods. It's a socket connection, but if you look at the API document, you'll see in the MediaInfo Event that the AgentID, agent extension, UCID, campaign type (progressive or preview), etc. are all provided. That's obviously how the call recordings can have the correct UCID to associate with that specific recording.
If you are unable to locate an easier API method to get the UCID you need, I'd suggest investigating building an interface to the Call Recording API. I don't believe that there would be a problem with more than one "recorder" client using that API, so you should be able to sit in parallel with the actual call recording system. That would allow your integration to harvest the correct UCID from every agent call. Hopefully, the rest of the information in the MediaInfo Event would give you a useful key for storing that UCID back into the customer's CRM system (ACRA). If not, you may be able to use another contemporaneous event, probably from Kafka, to associate the UCID in the MediaInfo Event with the appropriate CRM record. I have no idea how big a programming task this will all turn out to be, but I think this will give you a technically feasible solution.