Tre Kronor vann skottstatistiken med 44–11, men lyckades bara överlista Kazakstans andremålvakt Nikita Bojarkin tre gånger.
– Vi kunde inte göra mål i dag, säger Karlsson till Viaplay.
– Vi spelade kanske inte så dåligt som det kändes på bänken men givetvis hade vi hoppats på att stänka dit några fler till och haft en bättre känsla.
Segern gör dock att svenskarna stormar vidare mot gruppsegern och är gruppetta med tolv poäng, fyra före tvåan Slovakien.
Överlägset Sverige
Tre Kronor hade gjort 16 mål på sina tre inledande segermatcher.
Nu parkerade svenskarna, som hade haft två spelfria dagar, långa stunder i Kazakstans zon.
Marcus Johansson, Minnesotaforwarden, sköt 1–0 efter drygt tio minuter i första perioden.
Efter ett snyggt och effektivt anfall kunde Johansson avsluta.
– Det var en snygg felträff som gick in. Vi rör på benen, vi åker skridskor och öppnar upp för varandra, säger Marcus Johansson som gjorde sitt tredje mål.
Mål i boxplay
Det spelet försvann dock i andra perioden. Sverige parkerade fortfarande i motståndarzonen, men spelet blev ganska uppställt samtidigt som Kazakstans spelare såg till att försvara ytan framför sin storspelande målvakt.
I numerärt underläge slog Linus Johansson till med sitt första VM-mål i karriären.
Färjestadscentern avslutade med en isare som gick mellan benen på Bojarkin.
I tredje perioden kom fler mål. Fabian Zetterlund, San Jose, sköt sitt första mål i turneringen alldeles i inledningen.
Men även Kazakstan, som bara har en seger hittills, bet tillbaka då backen Adil Beketajev pricksköt 1–3 bakom Samuel Ersson. Philadelphiamålvakten gick ned på knä och släppte en lucka högt vid främre stolpen.
– Nu fick vi en sådan här match också. Det var ändå en ganska stabil vinst, säger Erik Karlsson.
Sverige möter Lettland i nästa match på lördag.