It looks like you have the criteria the wrong way round
I have done the below
if field('__row')<=10 then fromdataset("Teacher", "first_name", id_teacher: __row) else fromdataset("Seller", "first_name", id_seller: __row) end
also do not have dataset column name the same as the schema name (e.g. id: id) I think it confuses the app.
And the seller must have rows starting from 10 but the below will start from the 1st row in the seller
if field('__row')<=10 then fromdataset("Teacher", "first_name", id_teacher: __row) else fromdataset("Seller", "first_name", id_seller: (__row - 10)) end