You're accumulating the elements at the wrong end of the list. You can either append them at the correct end of the list:
(define flatten-tl-rec
(lambda (xs)
(letrec ([flatten-tl-rec-acc
(lambda (xs acc)
(cond ((empty? xs) acc)
((list? (first xs))
(flatten-tl-rec-acc
(rest xs)
(append acc (flatten-tl-rec-acc (first xs) '()))))
(else (flatten-tl-rec-acc
(rest xs)
(append acc (list (first xs)))))))])
(flatten-tl-rec-acc xs '()))))
... Or simply reverse the list at the end:
(define flatten-tl-rec
(lambda (xs)
(letrec ([flatten-tl-rec-acc
(lambda (xs acc)
(cond ((empty? xs) acc)
((list? (first xs))
(flatten-tl-rec-acc
(rest xs)
(append (flatten-tl-rec-acc (first xs) '()) acc)))
(else (flatten-tl-rec-acc
(rest xs)
(cons (first xs) acc)))))])
(reverse (flatten-tl-rec-acc xs '())))))