Interesting. Just reading this: https://kb.zwiftriders.com/zwift-strava-challengesUploading fit files often doesn't give credit, unfortunately. I guess they do it to avoid attemps to cheat it?
Quite an old article but perhaps try changing the ride type?
Most challenges don't support virtual rides right? I guess might work for Festive 500 as it specifically includes support.