.
Well, I guess it is happening because of the way how the 98 and 48 packs are designed.
Here's what I think. Let me know if I'm making sense.
98 = Data is valid until end of current base pack (unlimited pack or smart pack)
48 = Data is valid for 28 days or till current unlimited pack validity (whichever is lower)
Even if your base pack validity goes beyond 28 days, the old unused data balance from the 98 pack will still be available until your base pack ends.
On the other hand, any unused data balance from the 48 pack will expire after 28 days, regardless of whether or not your base pack still has validity.
So, according to the system, the data balance from the 48 pack has the chance of expiring first (28 days or less). And the 98 pack data balance has the chance of lasting longer than 28 days (if your base pack validity goes beyond that).
So I guess the system has been designed to debit data from the pack that theoretically has fewer validity.