With Python 3.6+, since it maintains insertion order, you can do this using .fromkeys() and .update():
di = dict.fromkeys(t1, False)
di.update(dict.fromkeys(t2, True))
# di = {'abc': False, 'def': True, 'ghi': False, 'jkl': True}
 
>>> tuple(di.values())
(False, True, False, True)
Which can be shortened to:
results=tuple({ **{}.fromkeys(t1, False), **{}.fromkeys(t2, True) }.values())
Or, with Python 3.9+:
result=tuple(({}.fromkeys(t1, False) | {}.fromkeys(t2, True)).values())
If you want to make sure that a value in t2 is not inserted into result as True without a corresponding value in t1, just have a set to determine the overlapping elements:
result=tuple(({}.fromkeys(t1, False) | {}.fromkeys(set(t1)&set(t2), True)).values())
This method is potentially faster for larger sequences since in can be slower for long sequences.