MR sent. I took the approach of setting the source-file. The etypecase approach would have either introduced a circular dependency between system.lisp and package-inferred-system.lisp or would have required the package-inferred-system symbol to be exported from system.lisp which felt wrong.
-Eric