Blueprints are built on C++ so there is no difference under the hood between the two (besides the overhead that comes with a BP), and math is just math - it’s the same no matter what language you are using. The fun thing with math is there is one correct answer and an infinite number of incorrect answers.
I’m having trouble understanding what angle you are trying to find. You mention the Camera rotation relative to the Target Subs’ rotation (in which case I think you grab the FRotator for each and just subtract their respective yaws from each other), but then your pictures show many more angles that would require a bit more work to find.
I went and looked at OpenSSN and you’ll need to take care when porting that stuff over. OpenSSN is built using simple 2D math with a bit of trig. Bringing that over to 3D vector algebra means you need to interpret WHAT the function is trying to do and not just porting it line for line.