I live in a state with transparent salary laws and this argument that posting the salary range isn’t deceptive is laughable. If that were true, why wouldn’t they be transparent and make it clear it’s a salary range and not a hiring range? The fact is, most people searching for a job are most interested in what they would be earning when they’re hired, not a theoretical wage 5, 10, or 15 years in the future.
Definitely do it in person and take the approach of “I was offered $17.50 initially and I have show I am reliable/hardworking over the last 4 months, and I would like to earn $X now” rather than “it’s not fair I was told this rate but got paid less”. Specific examples to show your value are helpful, use a friendly but firm approach, but recognize usually employers have complete discretion in wages unless you are part of union or have a contract so there’s a chance they will say no.
Another option is to use those 4 months of experience to get a new warehouse job with better pay. People tend to earn more job hopping than waiting for raises.