Definitely
Felix. It feels both modern & old, down-to-earth & sophisticated, youthful & adult. It also works anywhere in a name combo, or even on its own. No need for nicknames.
James is definitely a middle name only - as a first name it needs a substantial second name like
Reginald, or a string of middle names. It feels like it could only pair with "old" names (like
Reginald) and not "modern" names (like
Anakin). It also needs to change over a lifetime (
Jimmy,
James,
Jim), which is different from "has the options to".