You’re in luck! Torchtext does allow you to use a custom tokenizer:
from torchtext.data import Field

def custom_tokenizer(text):
    return [token.text for token in nlp.tokenizer(text)]

TEXT = Field(sequential=True, tokenize=custom_tokenizer)
LABEL = Field(sequential=False)

It looks like the YelpReviewPolarity dataset is formatted in CSV. The easiest way to parse it would be with the TabularDataset class:
from torchtext.data import TabularDataset

train_td, test_td = TabularDataset.splits(
    path='path-to-yelp-review-polarity-data/', train='train.csv', test='test.csv',
    format='csv', skip_header=False, fields=[('text', TEXT), ('label', LABEL)])

TEXT.build_vocab(train_td)
text_vocab = TEXT.vocab
LABEL.build_vocab(train_td)
label_vocab = LABEL.vocab

I haven’t used the BucketIterator but it’s not too different from the standard Iterator. I haven’t tested this but try:
from torchtext.data import BucketIterator

train_iter, test_iter = BucketIterator.splits(
    (train_td, test_td),
    sort_key=lambda x: len(x.text),
    shuffle=True,
    sort_within_batch=False,
    batch_sizes=(batch_size, test_batch_size),
    device=device)

You could use my authorship attribution training notebook as a reference to see how it all comes together: https://github.com/travis-harper/authorship-attribution/blob/master/gutenberg-10-author-gru-v5-training.ipynb 26
All I’m doing here is feeding words into an RNN to make a categorical prediction. This isn’t the best way to perform authorship attribution, but it does use the torchtext tools you are interested in. I hope this helps!