The issue is where/what you're tracking. You need to be able to continue to steer traffic over the down route in order to tell when it comes back up. Using PBR for traffic sourced from the router (ip local policy) will do this.
We don't need to track the backup (the floating static route with AD 10), because once the track object for your primary route comes back up, the primary route is reinstalled. A static route with no explicit AD has an AD of 1, which preempts the route with an AD of 10.
Additionally, I would suggest using two destinations, and a boolean track object. This way, you're determination of "is this route good" is not dependent solely on one service being alive. The track object is only down if both destinations are unresponsive.
ip local policy route-map pbr-map
ip access-list extended sla-acl
permit icmp any host 8.8.8.8
permit icmp any host 8.8.4.4
route-map pbr-map permit 10
match ip address sla-acl
set ip next-hop 192.168.86.1
ip route 0.0.0.0 0.0.0.0 192.168.86.1 track 402
ip route 0.0.0.0 0.0.0.0 192.168.1.1 10
ip sla 400
icmp-echo 8.8.8.8 source-ip 192.168.86.200
frequency 5
ip sla schedule 400 life forever start-time now
ip sla 401
icmp-echo 8.8.4.4 source-ip 192.168.86.200
frequency 5
ip sla schedule 401 life forever start-time now
track 401 ip sla 401 reachability
track 400 ip sla 400 reachability
track 402 list boolean or
object 400
object 401