I used the calculator to compute the CS:GO sensitivity setting, so I don't know how it's doing the conversion, I'm just inputting the values that I know (Sensitivity, DPI, resolution, screen size, FOV) into the calculator and not changing any of the settings (except for In-game and FPP for PUBG) and reading the values in the Calculations part of the UI.
Basically, using the calculator:
1. Convert PUBG Sensitivity 45 and DPI 400 to CS:GO results in Sensitivity 1.805111
2. Convert CS:GO Sensitivity 1.805111 DPI 400 to PUBG results in Sensitivity 45.000001
3. Convert PUBG Sensitivity 45 and DPI 400 to Overwatch results in Sensitivity 6.02
4. Convert CS:GO Sensitivity 1.805111 to Overwatch results in Sensitivity 6.02
5. Convert PUBG Sensitivity 45 to osu! results in Sensitivity 0.67
6. Convert CS:GO Sensitivity 1.1805111 to osu! results in Sensitivity 0.50
It seems like the PUBG and CS:GO sensitivities that I'm using are equivalent and I can convert between them without any problems. Also, I can use either of them as a starting point to calculate my Overwatch sensitivity and end up with the same result. But if I try to compute my osu! sensitivity, the result will be different depending on if I'm converting from PUBG or CS:GO, when it seems like these should be the same because the PUBG and CS:GO sensitivities are equivalent. If you input the values in the calculator, you should see where the calculated sensitivities for osu! are coming from. Thanks for your help!