I don't know how experienced you are with things, so I'll point you here first: https://docs.px4.io/en/flying/fixed_wing_landing.html. This lists the applicable parameters.
I don't know offhand what would be causing it to dive. Flare altitude basically comes down to this: a lower flare altitude (along with a longer FW_LND_HVIRT, say 15 meters) will cause a shallower, more gentle final approach angle and flare, but will be more "dangerous" due to the close proximity to the ground and the altitude error causing it to hit the ground too soon. A higher flare altitude will cause a steeper final approach angle and flare, and may cause a faster landing when it hits the ground. It will however be less susceptible to altitude error. Who cares if you actually flare at 20 instead of 25 meters. Flaring at 0 instead of 5 might cause a bad day.
Landing speed should be above stall speed. You can set it at 130% or so of minimum speed. If you set it at stall speed you're flirting with disaster. Same goes for minimum speed, it should probably not be your actual stall speed, but a little higher to add cushion. If you know that your minimum airspeed is above comfortably above your stall speed you might set your landing speed to 100% of minimum speed for a slower landing.
Hope this helps.