This answer kinda applies here as well a bit.
The answer to “How to have 144 / 1 million lights on the scene” - is simply, “you can’t”. Not with the default WebGLRenderer.
You can fake lit-up points by either using the .emissive property (tbh, there should be little difference between using point lights and emissive when working with small point-like elements, since shading won’t be visible either way.), or just go all-in and use MeshBasicMaterial - it ignores lights entirely and you can set the color manually using .color
property.