OK, I'm not an network expert, but had my share of issues with WLANs, so here we go:
I have an adress range 169.254.95.xxx. subnet 255.255.0.0.
This is the proper local adress range.
No, it's not proper. 169.254.x.x addresses are assigned by a mechanism called Automatic Private IP Addressing (APIPA) that kicks in when there is no connection to a valid DHCP server or no fixed IP address has been defined. With these addresses you can (I assume, I never tried) operate on your local network, but forget about any connection to the internet.
iPad/iPhone get the correct adresses from DHCP but cant surf.
Unless you did a very bizarre configuration on your modem/router, 169.254.x.x addresses are not correct and are not originating from a DHCP server, which should be your router or modem.
In short: the issue seems to be a a lack of a DHCP service to provide your iDevices the proper IP addresses. To solve your problem you have to describe a little bit more how your home WLAN is organized.
Eric