What's the precision of the updated_at field? If you have batch imports you might get records with the same update_at timestamp, if the precision is too low, then limit 1 still only gives one row, but not necessarily the latest.
Even if you have no batch imports, the best data type for determinining the last inserted OR updated row is a rowversion field, that's a sequential number unique for the whole table that's not just generated at insert (as used in autoinc primary keys) but also increments with updates automatically. The SurrealDB is not offering this feature, though. And an autoincrementing Id would only do half the job, unless you only care about the insert order and not the last updated record.
In https://surrealdb.com/docs/surrealql/datamodel/ids#auto-incrementing-ids you find the optimal way to handle determining the last id though:
When dealing with a large number of records, a more performant option is to use a separate record that holds a single value representing the latest ID.
That's followed by a code example to implement such a table. Then having the last Id generated allows to simply query that one record without an order by and limit clause, as you know what ID you want. It'll still require an index on the autoincremented ID to get the fastest fetch of that one record.