Is this a bug, or a limitation of driver/software support as noted in the docs?
It's a limitation. The only format that supports 10-bit output is P030 (three 10-bit pixels in a 32-bit word in a tiled format).
P030 is native to the hevc decoder, and supported directly by the display.
But AV1 is sw decoded, doesn't use that format, and ffmpeg doesn't support conversion to that format.
So it uses the format it can do (8-bit YUV420).
In theory a conversion to P030 could be written, but it would need to be written in Neon assembly to have the performance.