Simple Query optimization using ORDER BY
You should add one of these two indexes:

ALTER TABLE asset 
ADD INDEX product_id_status_expiry_date(product_id, status, expiry_date);


This will help with the filtering.

ALTER TABLE asset 
ADD INDEX expiry_date_serial_number(expiry_date, serial_number);


This will help with the filesort.

Only one of them can be used at a time, so add only the most advantageous.