I have full-synced a Geth 1.9.9 node but my requests including ancient blocks erroring. I know this is because of state-pruning but I wonder how to enable tracing for an ancient block so it returns the result instead of an error.
You need to run an archive node, rather than just a full one. Use
--gcmode archive command line option. See documentation for details.