The ROAM app uses your phone location to determine if you are within US waters. It will almost immediately reject your submittal, as I found out, if you are even just slightly in BVI waters. Heading from the BVI to St John, submit your arrival request as soon as you enter USVI waters even if you're on the east end of St John (especially if you're not otherwise looking to visit Cruz Bay that day).