Hi Nathan,
It seems you have application_type='web' client, for web client only https schema is allowed otherwise it must be rejected.
http://openid.net/specs/openid-connect-registration-1_0.html#RegistrationRequest
application_type
OPTIONAL. Kind of the application. The default, if omitted, is web. The defined values are native or web. Web Clients using the OAuth Implicit Grant Type MUST only register URLs using the https scheme as redirect_uris; they MUST NOT use localhost as the hostname. Native Clients MUST only register redirect_uris using custom URI schemes or URLs using the http: scheme with localhost as the hostname. Authorization Servers MAY place additional constraints on Native Clients. Authorization Servers MAY reject Redirection URI values using the http scheme, other than the localhost case for Native Clients. The Authorization Server MUST verify that all the registered redirect_uris conform to these constraints. This prevents sharing a Client ID across different types of Clients.
http://openid.net/specs/openid-connect-core-1_0.html
About fragment handling. It is specified in section "3.2.2.7. Redirect URI Fragment Handling".
According to URI specification there can be only one fragment: https://tools.ietf.org/html/rfc3986#page-24
Thanks,
Yuriy