Alternative pantern? (PageModel currentPageModel, CategoryModel currentCategory, ProductModel currentProductModel)

Perhaps you could extend the RequestModel to include what you need?

The RouteRequestInfo.Data property can be cast as ProductPageData which has CategorySystemId, BaseProductSystemId and VariantSystemId that could be mapped. You can inject RouteRequestInfoAccessor.