Bom dia, @josejooj!! Tudo bem com você?
Este é o comportamento esperado, mesmo em produção. Quando expirada o status permanece ATIVA, mas já não é possível pagar. O Bacen definiu assim, pois como está ATIVA te permite dar um PATCH /v2/cob/:txid e aumentar o tempo de expiração, possibilitando o pagamento novamente, por exemplo.
Então é mesmo necessário a implementação desta verificação em sua aplicação. Uma forma de verificar se o Pix está expirado é comparar a __data e hora atual__ com a __data e hora de emissão + tempo de expiração em segundos definida no momento da criação da cobrança __. Se a data e hora atual for maior que a data e hora de expiração, significa que o Pix não pode mais ser pago. Caso contrário, o Pix ainda está ativo e pode ser pago normalmente.
Termos mais procurados: