Found what was happening, I'm leaving it here in case anybody finds it useful.
You need to use "transfer_rotation_to_content()"
original = PdfReader(pdf_path).pages[0]
stamp = PdfReader(stamp_pdf).pages[0]
writer = PdfWriter(clone_from=pdf_path)
for page in writer.pages:
page.transfer_rotation_to_content()
page.merge_page(stamp, over=True) # here set to False for watermarking
output_filename = f"{os.path.splitext(filename)[0]}.pdf"
output_path = os.path.join(output_folder, output_filename)
writer.write(output_path)