It's solved. Eventually I arranged a mobile emulator in order to access web inspector, and saw that actual error was an unrelated logging error inside of the client query method. It was surfaced as unhandled Promise rejection, which I think is because the innermost catch
included a logger method that was also failing.
A mistake in my logger assumed structure of the error call stack that was different between browsers, hence the inconsistent behavior.