Default value as expression from other columns
DEFAULT has a lot of restrictions.
you can use here a daily EVENTs which runs every day and set premium accourdind to the expiration date
DROP EVENT IF EXISTS daily_event;
CREATE EVENT daily_event
ON SCHEDULE EVERY '1' DAY
STARTS '2020-12-12 00:00:01' -- mustbe in the future
DO
    UPDATE users u1
    INNER JOIN premium_subscription ps ON u1.user_id = ps.user_id
    SET premium = IF(NOW() &gt; ps.expiration , 1, 0);

To enable the event scheduler see manual