The routes are sync objects, so they will be the same in both units.
For your configuration, does not matter which way you sync, you will get the same error.
So the first error you got, the unit can’t add the new route because is the same as the local connected route via the self ip.
Second error is because how routing works, you can’t create a route to a default gateway that is not direct connected (you need an self ip in that network).
In one unit that route works, but in the other unit does not work when you sync the configuration.
You already found out the main problem in have HA between datacenters.
If the link between datacenters go down, you have an active/active situation, and that is bad if you have an active/standby setup.
The other problems is how you float the floating ips between the units, as you need to have layer 2 connection between the datacenters.
There is a possibility to that without floating ips, and having the virtual addresses announced via routing protocols (like RIP/OSPF/etc…), but you still have the problem with active/active situation.
I saw this option with routing protocols been used in a production network, but is not good at all.
The best option is to use GTM/DNS, the product is exactly for this scenario, to load balance between datacenters.
If within the data center you use only one LTM, or a pair, does not matter.
A pair is recommended, as a extra layer of redundancy.
See this link about GTM/DNS:
https://f5.com/products/big-ip/big-ip-dns