Yes, it’s correct that extents will not be used on existing files, but the other features will work. Depends on how keen you are to get the last bit of performance improvement by using extents. A freshly created ext4 filesystem and a data restore is best, but if that is not feasible for one reason or another, you can do the conversion in-situ. As always with anything involving large changes to data handling, backup, backup, backup.
There is an e4defrag program, but I could only find a work-in-progress version when I went looking and it wouldn’t work anyway when compiled. This on a test machine that I don’t care about.