If i enable both HTTP/2 and HTTP/3 in my CloudFront distribution - would it just use HTTP/3 if the browser client supports it and HTTP/2 otherwise?
yeah, that's correct as long as your browser supports HTTP3, CloudFront will honour that. For origin, you don't have to worry as Cloudfront will still use HTTP 1.0 You can read more here for reference https://aws.amazon.com/blogs/aws/new-http-3-support-for-amazon-cloudfront/