I really do not see what is so hard about this.
If a booking form asks for your first name they mean the first name as listed on your passport. In the case given above the legal name is John David Smith. The first name is John, not David. That is the second name.
On what basis could the airline insist that you change the booking? I imagine on the basis that you did not fill in the booking form correctly.