The Wales winger passed up a great opportunity by heading Tyrick Mitchell’s cross wide while unmarked from 10 yards out.
Johnson, booked for hacking El Hadji Malick Diouf down soon after, curled a much better effort marginally wide as West Ham continued to live dangerously.
Axel Disasi thumped a reply over on the turn but was offside anyway, and a much better chance came their way six minutes before the break.
Goalkeeper Dean Henderson, who had been a prominent partier in Italy, mistimed a punch that fell to Castellanos, whose overhead-kick was prevented from going in by Lacroix. The England keeper soon made amends with a superb stop to keep out Konstantinos Mavropanos’s header.
Jarrod Bowen saw Hughes block a shot early in the second half that, judging by his reaction, the England man had expected to see flying into the top corner. Bowen attempted an overhead kick soon after but that was blocked.
West Ham soon had to repel a barrage of corners after Johnson, causing problems on the right, sent in dangerous centres.
Glasner made a triple change just before the half-hour mark, with Mateta replacing Strand Larsen and Daichi Kamada and Sarr sent on as well.
A slip at the back by Lerma almost let in Castellanos but Canvot came across to stop him and, when the Argentina striker toppled to the turf, referee Darren England was not remotely interested in awarding a penalty.
Nuno made his first change with 15 minutes to go, sending Callum Wilson on for another January signing yet to open his account for his new London employers, Pablo.
Mads Hermansen had not had much to do in the West Ham goal but nervously fumbled a tame Lerma behind for a corner. The visitors coped with that, with Castellanos forcing Henderson into a save at the other end not long after.
