Fitting and transforming text data in training, testing, and validation sets
It's best to leave the test data unseen. You can create a data transformation pipeline for your test data so that your test data will be transformed into a TFIDF vector after being passed through the pipeline. This way you get to know how well your model performs on unseen data. 

And it's OK to transform the entire training data into a TFIDF vector and run the k-fold validation.