Hello Alan,
you can use conditions to decide when to inject a default route in OSPF using a route-map to match some conditions like presence of some prefixes in routing table, ip next hop.
But once the default route is created it can be stopped only at the ingress of a stub area (any type of stub) because it is an external route.
(Actually some types of stub area injext an O IA default route inside the area at the ABR the router between area 0 and stub area)
A special case could be the injection of a default route inside an NSSA area with flag do not propagate to avoid translation to normal type 5 LSA at area border.
So actually it cannot be filtered but only conditioned.
Hope to help
Giuseppe