Return of the Hydra Slayer
JavaScript, 191 190 bytes

Saved a byte thanks to Step Hen

(h,t,s)=&gt;eval(`r=[],d=0,q=[],s.map(a=&gt;q.push([],h));while(q.length){p=q.shift(),h=q.shift(),s.map(w=&gt;(a=h/w)==1?d=w:!(a%1)&amp;!r[a+=t]?r[q.push([...p,w],a),a]=1:0);d?(q=[],p).push(d):0}d?p:[]`)




f=(h,t,s)=&gt;eval(`r=[],d=0,q=[],s.map(a=&gt;q.push([],h));while(q.length){p=q.shift(),h=q.shift(),s.map(w=&gt;(a=h/w)==1?d=w:!(a%1)&amp;!r[a+=t]?r[q.push([...p,w],a),a]=1:0);d?(q=[],p).push(d):0}d?p:[]`)

console.log(`[${f(24, 1, [2,3])}]`);
console.log(`[${f(25, 2, [2,3])}]`);
console.log(`[${f(4, 2, [2])}]`);
console.log(`[${f(4, 3, [2,5])}]`);
console.log(`[${f(10, 17, [2, 3, 7, 19])}]`);
console.log(`[${f(10, 6, [1,16])}]`);
console.log(`[${f(125, 1, [1, 16])}]`);
console.log(`[${f(1024, 3, [1, 2, 137])}]`);