Is there any way to make a function so players can't swim upwards in water, but instead just have a higher jump?
Solution 1:
Minecraft 1.13 uses tags to identify characteristics of different blocks and entities. Amongst those are fluid tags for lava and water. If you reset the fluid tag for water in your datapack, then the game will treat water like air and you will be unable to swim.
Note that boats are no longer able to float and particles will disappear if you do this. Items also won't float and sponges are unable to remove water.
After that, it's just a matter of giving players who are inside a water block a jumpboost effect.