Hello @Wade0905,
Sorry for the late reply. Please see some comments below:
1. The .mex you've shared does not include any configuration for RTC. Please check the file and send it again if possible.
2. Actually. Rtc_Ip_Init() function is already standby-wakeup aware, and will skip software reset of the module if RTCC_CNTEN is already set:

Simply enable GPT Standby Wakeup Support:

With this, you can just keep the Rtc_Ip_SetTimeDate() API inside the if instruction:
/* Clear RDSS to prevent automatic wake up after setting RDSS during standby */
resetReason = Power_Ip_GetResetReason();
Rtc_Ip_Init(RTC_INST, &RTC_0_InitConfig_PB);
Rtc_Ip_EnableInterrupt(RTC_INST, RTC_IP_COUNTER_INTERRUPT);
Rtc_Ip_StartCounter(RTC_INST);
if(resetReason != MCU_WAKEUP_REASON)
{
Rtc_Ip_SetTimeDate(RTC_INST, &Rtc_DateTimeCfg_0);
}
Date and Time data are software based, while the RTC counter is hardware based. So, if MCU does not execute software to re-calculate year, month, and data after exiting standby, date and time will be showing the same after every wakeup.
I've created a simple example for S32K3X8EVB, as there is no evaluation board for S32K328. It simply configures two GPIO wakeups, and depending on which SW is pressed, either the RTC counter + date will be printed, or MCU will enter standby.
It even prints reset reason (28 for wakeup, 0 for power on reset, etc.), which helps identify whether a functional or destructive reset was done:

Hope it helps.
Best regards,
Julián