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)