As far as I've seen VP uses the CRF method from the x264 encoder. The constant rate factor encoding method is quality based only. It is the best choice if image quality is more important than anything else.
You set the level of image quality you want and the encoder will take the bitrate it needs to archive this quality. Not caring for any min/max limits. A value of 18 is already high quality. Common values are 22-26.
CRF ist ideal for playback on pc and uploading anywhere where the video will get encoded again (like YT - for re-encoding choose a higher crf value, like 18-20).
Not the best choice for hardware playback because this method can cause bitrate peaks the hardware encoder may not be able to handle. It depends on the source. Worth a try but there's no hardware-proof guarantee.
Usually programs use a bitrate mode. Often in a variable mode, constant mode is rare. 1-pass for constant; 1-, 2-pass or more for variable.
Most commercial programs only offer the bitrate mode, unfortunately.
Bitrate encoding method is for meeting/not exceeding a certain file size and/or prevention of bitrate peaks (you normally set an average value and limit the max. bitrate). Hardware compatibility is more important than Image quality in this mode. Quality will be accomplished by raising the bitrate.
The video usually has a higher average bitrate than a crf video of the same visual quality.
I'd assume your source material was a high bitrate encoding and when using crf encoding the compression is better optimized and thus the smaller file size.
If you want a higher file size increase the quality.
If you want to encode by bitrate, switch to the AVI container and use the native MPEG4 encoder. Or any MPEG-4 Visual/ASP encoder you have installed (Xvid, DivX).