I have read that in order to optimize WebGL application, one should reduce an amount of draw calls. But does it mean that computing a one big mesh from all single meshes on CPU by modifying vertices position (which I heard is much slower than GPU while talking about matrix multiplications) and calling the draw call once would be faster than drawing every single mesh using model matrix inside GPU, calling the draw call for each one of them?
If it's something static, such as an environment, then it might make sense to group it all together.
For several independently moving/transforming objects, it's usually best to keep them separate, as per-vertex calculations are much faster on the GPU than CPU (the GPU can run several vertex calculations in parallel).
If the objects are very small though (i.e. particles, billboards), it may be worth grouping them in a large mesh.
There's no general rule, it's all about finding the right balance.