@ConnyDuck I did an experiment building in BouncyCastle as a security provider and it did fix some of these problems. The issue was mainly that, since it overrode the existing provider, some other users started having issues where they weren't before!
I never sorted out if I had just included in through gradle incorrectly. Or if it was conflicting with the existing security provider on old devices, which is ALSO BouncyCastle and uses the same "BC" name to identify itself.