REF: consolidate result-casting in _cython_operation
Orthogonal to #38235.  After this and 38235, we'll be down to only two usages of maybe_cast_result, only one of which is sketchy.
great yep, couple more nice PRs in this sequence and then one that involves a tough choice + ugly code