Are you sure it's SystemException and not something like InactiveTransactionException or InvalidTerminationStateException, both of which are derived from SystemException?
Ehr, I get an InactiveTransactionException which is a SystemException. To me InactiveTransactionException doesn't really exist as it's not part of the spec.
I'll ignore the opportunity to ask why something would want to call setRollbackOnly in afterCompletion ;-) 'cause that's a bit like putting your seatbelt on after the car has crashed.
Ignoring your ignorance :-) , I completely agree and it's not an user scenario nor a support case. Some test tool that likes splitting straws.