When I drop LIMIT from the query, it runs fast enough. It was my mistake not to show the clause initially.
The planner is mistaken in preferring index access:
Index Scan Backward using table_partition202508_ts_key_idx on table_partition202508 csh (cost=0.57..11776409.95 rows=2466994 width=109) (actual time=292447.147..292582.353 rows=10 loops=1)
It's mistaken in preferring the default sorting in the index and expecting to see the required rows in the first pages of the index based on the filter, and will abort execution upon finding the required 10 rows. In fact, the executor is forced to scan the entire/most of the partition using index access.