Just for completeness, we have issues too with custom projections/operations starting with 2.27.4. One of them is reported as GEOT-7917 and described a bit more in detail here: GS 2.27.5 / GT 33.5 - envelope transformations no longer working correctly . Not sure though if it’s related, but it might give you a hint for further investigations.
That issue is basically, if you have a custom operations defined, as pair of sourceSRS, targetSRS=MathTransform, but then your request for transformation is the other way ‘round: sourceCRS→ targetCRS, then that transformation is wrong and that might give you false results. In your test-case could you implement something like this:
MathTransform srcToTarget = CRS.findMathTransform(sourceCrs, targetCrs);
MathTransform targetToSrc = CRS.findMathTransform(targetCrs, sourceCrs);
assertTrue(src2Target.equals(targetToSrc.inverse()));
For our tests w.r.t. GEOT-7917 this test was in fact failing.
Hope that it helps to identify the issues.