Turns out I needed to specify the entire device descriptor, found in: https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json
my json needed to be something like this:
$device = '{\"userAgent\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1\", \"viewport\":{\"width\":393,\"height\":852}, \"screen\":{\"width\":393,\"height\":659}, \"deviceScaleFactor\":3, \"isMobile\":true, \"hasTouch\":true, \"defaultBrowserType\":\"webkit\"}'