A little late here but if the json(status 400) error you were referring to applied to the sign up form. I resolved this by making a small change to the function.
const emailPasswordSignup = async (email, password) => {
try {
await app.emailPasswordAuth.registerUser({email, password});
return emailPasswordLogin(email, password);
} catch (error) {
throw error;
}
}