Thanks for the link. I was assuming that varchars couldn't be longer than 4000 characters, and my string is around 6000 characters. Assigning the string to a varchar and inserting it directly into the clob works.
Well, SQL varchar2 is limited to 4KBytes; PL/SQL varchar2 is limited to 32KBytes.
(BTW, sorry for the small typo in my previous piece of code; it should be: