Just came across this thread today as I had the same issue. Didn't like any of the solutions here or in my own post, so developed some code that will convert Variant to Byte Array, without adding anything extra in there. Just straight data, baby. This works for a bunch of datatypes, including clusters. See the readme.
I haven't tested this much, so if anyone here still needs it, let me know if you find any bugs.
https://github.com/aaronfleishman/VariantToByteArray