The issue is usually that statically configured default routes have a lower administrative distance than routing protocol routes. Cisco define a static route as an AD of 1 and and OSPF route as 110 so the static route will always be used over the dynamic one.
To change this behaviour, you need to alter the AD of the static route that you don’t want to use to something higher than 110. That way, it’s still available if your preferred route goes down.
To keep things simple, unless you have a specific requirement, leave the interface costs as default and make routing decisions based upon AD only.
Agreed. Removing static routes is generally a good idea in an OSPF environment. However, if you wish to maintain a backup default route then you’ll need two static routes. Giving the backup an administrative distance above 110 means that it won’t normally be used.