Expired domains does not reset resolver

When a domain is expired, it resets the controller and owner, but not the resolver.
When a domain is expired, the contents still appear normally.

Is this intentional or a bug?

The registrar has no way to react to a domain expiring - there’s no event onchain that it can execute code in response to - so it’s not able to reset controller or resolver automatically. The new owner of the domain can change those as they see fit.