I have found the answer!
UObjects do get saved with the asset. My problem was that when I created my UObject using NewObject(), I forgot to set the Quest Asset as the Outer, so the UObject was ignored.
Once I passed in my asset as the Outer, the UObject saved perfectly.