If the generic.jump_strength of a player or an entity is set to a value high enough, to make them jump above their generic.safe_fall_distance, they are capable of taking fall damage on, or if the generic.jump_strength is set high enough, even above the y-level, they took off at.
Expected behaviour:
Players and entities can't take fall damage above the y-level they took off at.
Steps to replicate:
Create a new world, set "Allow Commands" to "ON".
Open the chat.
Type / paste the following command: "/attribute @s minecraft:generic.jump_strength base set 1"
Press your jump key and wait until you reach the ground.
You just took fall damage.
This is intentional behavior. In order to prevent this, you can modify the generic.fall_damage_multiplier and generic.safe_fall_distance attributes.