random_split will return Subsets, which wrap the dataset.
To access the underlying dataset, you could use train_dataset.dataset.get_vocab().
However, this would call the get_vocab() methon of course on the complete dataset.
I’m not familiar with this method, but if it creates the vocabulary based on the used dataset, it would contain the words from the training and validation dataset.