@Razeen Hendricks - I'm glad that you were able to resolve your issue and thank you for posting your solution so that others experiencing the same thing can easily reference this! Since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others ", I'll repost your solution in case you'd like to accept the answer .
Ask: Powershell: Deserialization error on Spark pool creation
Operation returned an invalid status code 'BadRequest' Spark pool request validation failed. SparkPoolConfigContent Deserialization Failed. Content should be deserialied to SparkConfigurationInfoObject.
Solution: I've already managed to figure out the problem, which is essentially due to the incomplete json schema I used for the config when I uploaded it. It was missing the "created", "createdBy", "annotations" and "configMergeRule" fields. How any ordinary person would know this, I don't know.
See the end of https://github.com/Azure/azure-powershell/issues/20711
Once I uploaded the correctly formatted json, and then used the code to get that config. it succeeded in creating the spark pool without error.
If I missed anything please let me know and I'd be happy to add it to my answer, or feel free to comment below with any additional information.
If you have any other questions, please let me know. Thank you again for your time and patience throughout this issue.
Please don’t forget to Accept Answer and Yes for "was this answer helpful" wherever the information provided helps you, this can be beneficial to other community members.