Since the Elbow position and the TCP are being broadcast on the RTDE channel you could add the tool flange position as well to the RTDE interface, it's a bit clumsy as you would need to use 6 float registers but the position of the tool flange is available from URScript so you could have a function that is running in a background thread that is populating those registers at all time. This would allow you from an external source to know where the 3 largest sources of collision are located at any time, elbow, wrist group and tcp. Just a thought and this is available today without needing UR to do anything. Having worked around the robots for over 5 years I do not see any reason to need to calculate the cartesian position of the base or shoulder joints and the wrists are closely coupled enough that you could simply place a bounding box around the tool flange and know where all 3 wrists are with a pretty high level of confidence based simply on the pose of the tool flange. Their geometric relationship to each other are defined after all.
Would that give you everything that you need for the dynamic safety zones? My understanding was this is the reason that UR started broadcasting the elbow position as it was the greatest risk to safety as you could not know where it was prior without doing all the kinematics to calculate it.
Also, have you seen this post on the UR Support site? It may be helpful, I have only briefly read it as I am not overly interested in the underlying kinematics (it was after all one of my least favorite classes in college).