Thank you for your time and comments. I did try all the stuff before posting here, including upgrading all the libraries to the latest version (serenity, cucumber and lombok as well). It turns out there was one dependency that I hadn't added (which seemed to work out of the box in Java 17, but not so in Java 21) which was:
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.16.1</version>
Adding this has resolved the issue and the scripts are running well. I am new to both java and selenium/serenity, hence was wondering if the days I spent attempting the fix was done wrongly. I thank you all for your support and guidance. The help notes, especially about the upgrade, helped a lot since this time, I paid attention to the errors.