Is Optimize not really doing a redirect in the traditional sense?
No: This is not a traditional redirect.
In optimize.js they are doing a javascript redirect. You are giving the A/B/C/D variations of the pages to Google and the script is sending them to one of the pages and tracking the results in google analysts so you know which page is better.
In theory, the 302, meta, and javascript, (optimize.js is the later one), do not remove the original page. But a meta refresh is believed to lose some ranking (might be that the content is empty?); although the use of a canonical on the meta refresh destination may be a good idea.
I don't see much of a use case for redirects from the main page to a second page beyond A/B testing. Maybe someone has a camera but now there is a sale and they can get the camera with a free camera bag and associates. But even then a temporary redirect (302) would be a better choice and the user experience is less than ideal.
A popup or modal on the original page telling the visitor about the sale would be a better experience.
Modals are a current suggestion for testing. https://support.google.com/optimize/answer/6218029?hl=en&ref_topic=6315913#zippy=%2Cin-this-article
If you are going to be testing the redirects, I would test all three. Or, four if you count 307.
My usage of the 301 is as a permanent redirect; in which case I fix the canonical and internal links. But some people are having problems with 301 not getting processed. It would be satisfying to know if that might be caused by an incorrect canonical.