Here is my solution In order to compensate for the 'reversing problem' I pass lst1 in reversed form to the iterative function my-next-append-1. Also I pass the list lst2 as the initial value of res. This is crucial in order to get
the lists appended at all.
(define (my-next-append lst1 lst2)
(my-next-append-1 (reverse lst1) lst2 lst2))
(define (my-next-append-1 lst1 lst2 res)
(cond ((null? lst1) res)
(else (my-next-append-1
(cdr lst1) lst2 (cons (car lst1) res)))))